Imported Upstream version 2.81
[platform/upstream/libbullet.git] / Demos / SerializeDemo / CMakeLists.txt
1 # This is basically the overall name of the project in Visual Studio this is the name of the Solution File
2
3
4 # For every executable you have with a main method you should have an add_executable line below.
5 # For every add executable line you should list every .cpp and .h file you have associated with that executable.  
6
7
8 # This is the variable for Windows.  I use this to define the root of my directory structure.
9 SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
10
11 # You shouldn't have to modify anything below this line 
12 ########################################################
13
14 IF(BUILD_AMD_OPENCL_DEMOS AND BUILD_MULTITHREADING)
15         SUBDIRS(AMD)
16 ENDIF()
17
18 INCLUDE_DIRECTORIES(
19 ${BULLET_PHYSICS_SOURCE_DIR}/src 
20 ${BULLET_PHYSICS_SOURCE_DIR}/Demos/OpenGL 
21 ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletFileLoader
22 ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletWorldImporter
23 )
24
25 ADD_DEFINITIONS(-DDESERIALIZE_SOFT_BODIES)
26
27 IF (USE_GLUT)
28         LINK_LIBRARIES(
29         OpenGLSupport  BulletWorldImporter BulletSoftBody BulletDynamics  BulletCollision BulletFileLoader LinearMath   ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
30         )
31
32         IF (WIN32)
33                 ADD_EXECUTABLE(AppSerializeDemo
34                         main.cpp
35                         SerializeDemo.cpp 
36                         SerializeDemo.h
37                         ${BULLET_PHYSICS_SOURCE_DIR}/build/bullet.rc
38                 )
39         ELSE()
40                 ADD_EXECUTABLE(AppSerializeDemo
41                         main.cpp
42                         SerializeDemo.cpp 
43                         SerializeDemo.h
44                 )
45         ENDIF()
46         IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
47                 IF (WIN32)
48                         IF (CMAKE_CL_64)
49                                 ADD_CUSTOM_COMMAND(
50                                         TARGET AppSerializeDemo
51                                         POST_BUILD
52                                         COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/glut64.dll ${CMAKE_CURRENT_BINARY_DIR}
53                                 )
54                         ELSE(CMAKE_CL_64)
55                                 ADD_CUSTOM_COMMAND(
56                                         TARGET AppSerializeDemo
57                                         POST_BUILD
58                                         COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/GLUT32.DLL ${CMAKE_CURRENT_BINARY_DIR}
59                                 )
60                         ENDIF(CMAKE_CL_64)
61                 ENDIF(WIN32)
62         ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
63         
64 ELSE (USE_GLUT)
65
66         LINK_LIBRARIES(
67         OpenGLSupport  BulletWorldImporter BulletSoftBody BulletDynamics  BulletCollision BulletFileLoader LinearMath  ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
68         )
69
70         ADD_EXECUTABLE(AppSerializeDemo
71                 WIN32
72                 ../OpenGL/Win32AppMain.cpp
73                 Win32SerializeDemo.cpp
74                 SerializeDemo.cpp 
75                 SerializeDemo.h
76                 ${BULLET_PHYSICS_SOURCE_DIR}/build/bullet.rc
77         )
78 ENDIF (USE_GLUT)
79
80 IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES AND NOT INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
81         ADD_CUSTOM_COMMAND(
82                 TARGET AppSerializeDemo 
83                 POST_BUILD
84                 COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/SerializeDemo/testFile.bullet ${CMAKE_CURRENT_BINARY_DIR}/testFile.bullet
85         )
86 ENDIF ()
87
88
89 IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
90                         SET_TARGET_PROPERTIES(AppSerializeDemo PROPERTIES  DEBUG_POSTFIX "_Debug")
91                         SET_TARGET_PROPERTIES(AppSerializeDemo PROPERTIES  MINSIZEREL_POSTFIX "_MinsizeRel")
92                         SET_TARGET_PROPERTIES(AppSerializeDemo PROPERTIES  RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
93 ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
94
95