ExternalBox2D.cmake 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. INCLUDE(ExternalProject)
  2. SET(box2d_PREFIX ${PROJECT_BINARY_DIR}/box2d)
  3. # Needs fpic to link in shared lib on Linux
  4. IF(CMAKE_COMPILER_IS_GNUCXX)
  5. SET(box2d_CXX_ARGS -DCMAKE_CXX_FLAGS=-fPIC)
  6. ENDIF(CMAKE_COMPILER_IS_GNUCXX)
  7. SET(box2d_CMAKE_ARGS
  8. -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
  9. -DBOX2D_INSTALL=ON
  10. -DBOX2D_BUILD_EXAMPLES=OFF
  11. ${box2d_CXX_ARGS}
  12. )
  13. ExternalProject_Add(box2d
  14. PREFIX ${box2d_PREFIX}
  15. DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
  16. URL http://box2d.googlecode.com/files/Box2D_v2.1.2.zip
  17. URL_MD5 59d142cd8d4d73e8832c7b67591f590c
  18. # Box2D's source isn't in the top level directory so add a dummy file to set cmake right
  19. PATCH_COMMAND cmake -E echo ADD_SUBDIRECTORY(Box2D) > <SOURCE_DIR>/CMakeLists.txt
  20. CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DBOX2D_INSTALL=ON -DBOX2D_BUILD_EXAMPLES=OFF ${box2d_CXX_ARGS}
  21. )
  22. ExternalProject_Get_Property(box2d install_dir)
  23. # install built files
  24. INSTALL(DIRECTORY ${install_dir}/include/
  25. DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Include
  26. FILES_MATCHING PATTERN "*.h")
  27. # install debug lib
  28. INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}Box2D${CMAKE_STATIC_LIBRARY_SUFFIX}
  29. DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
  30. CONFIGURATIONS Debug
  31. RENAME Box2D_d${CMAKE_STATIC_LIBRARY_SUFFIX})
  32. # install release lib
  33. INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}Box2D${CMAKE_STATIC_LIBRARY_SUFFIX}
  34. DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
  35. CONFIGURATIONS Release)