CMakeLists.txt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. # App_BasicExample is a minimal sample creating, stepping and deleting a Bullet dynamics world
  2. INCLUDE_DIRECTORIES(
  3. ${BULLET_PHYSICS_SOURCE_DIR}/src
  4. )
  5. LINK_LIBRARIES(
  6. BulletDynamics BulletCollision LinearMath
  7. )
  8. IF (WIN32)
  9. ADD_EXECUTABLE(App_BasicExample
  10. BasicExample.cpp
  11. main.cpp
  12. ${BULLET_PHYSICS_SOURCE_DIR}/build3/bullet.rc
  13. )
  14. ELSE()
  15. ADD_EXECUTABLE(App_BasicExample
  16. BasicExample.cpp
  17. main.cpp
  18. )
  19. ENDIF()
  20. IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
  21. SET_TARGET_PROPERTIES(App_BasicExample PROPERTIES DEBUG_POSTFIX "_Debug")
  22. SET_TARGET_PROPERTIES(App_BasicExample PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel")
  23. SET_TARGET_PROPERTIES(App_BasicExample PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
  24. ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
  25. #################
  26. # Standalone BasicExampleGui using OpenGL (but not the example browser)
  27. INCLUDE_DIRECTORIES(
  28. ${BULLET_PHYSICS_SOURCE_DIR}/src
  29. ${BULLET_PHYSICS_SOURCE_DIR}/btgui
  30. ${BULLET_PHYSICS_SOURCE_DIR}/examples
  31. ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/Glew
  32. )
  33. SET(AppBasicExampleGui_SRCS
  34. BasicExample.cpp
  35. ${BULLET_PHYSICS_SOURCE_DIR}/build3/bullet.rc
  36. ../StandaloneMain/main_opengl_single_example.cpp
  37. ../ExampleBrowser/OpenGLGuiHelper.cpp
  38. ../ExampleBrowser/GL_ShapeDrawer.cpp
  39. ../ExampleBrowser/CollisionShape2TriangleMesh.cpp
  40. ../Utils/b3Clock.cpp
  41. )
  42. #this define maps StandaloneExampleCreateFunc to the right 'CreateFunc'
  43. ADD_DEFINITIONS(-DB3_USE_STANDALONE_EXAMPLE)
  44. LINK_LIBRARIES(
  45. BulletDynamics BulletCollision LinearMath OpenGLWindow Bullet3Common ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
  46. )
  47. #some code to support OpenGL and Glew cross platform
  48. IF (WIN32)
  49. INCLUDE_DIRECTORIES(
  50. ${BULLET_PHYSICS_SOURCE_DIR}/btgui/OpenGLWindow/GlewWindows
  51. )
  52. ADD_DEFINITIONS(-DGLEW_STATIC)
  53. ELSE(WIN32)
  54. IF(APPLE)
  55. find_library(COCOA NAMES Cocoa)
  56. MESSAGE(${COCOA})
  57. link_libraries(${COCOA})
  58. ELSE(APPLE)
  59. INCLUDE_DIRECTORIES(
  60. ${BULLET_PHYSICS_SOURCE_DIR}/btgui/OpenGLWindow/GlewWindows
  61. )
  62. ADD_DEFINITIONS("-DGLEW_INIT_OPENGL11_FUNCTIONS=1")
  63. ADD_DEFINITIONS("-DGLEW_STATIC")
  64. ADD_DEFINITIONS("-DGLEW_DYNAMIC_LOAD_ALL_GLX_FUNCTIONS=1")
  65. LINK_LIBRARIES( X11 pthread dl Xext)
  66. ENDIF(APPLE)
  67. ENDIF(WIN32)
  68. ADD_EXECUTABLE(AppBasicExampleGui
  69. ${AppBasicExampleGui_SRCS}
  70. )
  71. IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
  72. SET_TARGET_PROPERTIES(AppBasicExampleGui PROPERTIES DEBUG_POSTFIX "_Debug")
  73. SET_TARGET_PROPERTIES(AppBasicExampleGui PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel")
  74. SET_TARGET_PROPERTIES(AppBasicExampleGui PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
  75. ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)