Imported Upstream version 2.81
[platform/upstream/libbullet.git] / src / BulletMultiThreaded / CMakeLists.txt
1 INCLUDE_DIRECTORIES(
2         ${BULLET_PHYSICS_SOURCE_DIR}/src
3         ${VECTOR_MATH_INCLUDE}
4 )
5
6 SET(BulletMultiThreaded_SRCS
7         SpuFakeDma.cpp
8         SpuLibspe2Support.cpp
9         btThreadSupportInterface.cpp
10         Win32ThreadSupport.cpp
11         PosixThreadSupport.cpp
12         SequentialThreadSupport.cpp
13         SpuSampleTaskProcess.cpp
14         SpuCollisionObjectWrapper.cpp 
15         SpuCollisionTaskProcess.cpp
16         SpuGatheringCollisionDispatcher.cpp
17         SpuContactManifoldCollisionAlgorithm.cpp
18         btParallelConstraintSolver.cpp
19         
20         #SPURS_PEGatherScatterTask/SpuPEGatherScatterTask.cpp
21         #SpuPEGatherScatterTaskProcess.cpp
22
23         SpuNarrowPhaseCollisionTask/boxBoxDistance.cpp
24         SpuNarrowPhaseCollisionTask/SpuContactResult.cpp
25         SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.cpp
26         SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.cpp
27         SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp
28
29         #Some GPU related stuff, mainly CUDA and perhaps OpenCL
30         btGpu3DGridBroadphase.cpp
31 )
32
33 SET(Root_HDRS
34         PlatformDefinitions.h
35         PpuAddressSpace.h
36         SpuFakeDma.h
37         SpuDoubleBuffer.h
38         SpuLibspe2Support.h
39         btThreadSupportInterface.h
40         Win32ThreadSupport.h
41         PosixThreadSupport.h
42         SequentialThreadSupport.h
43         SpuSampleTaskProcess.h
44         SpuCollisionObjectWrapper.cpp 
45         SpuCollisionObjectWrapper.h 
46         SpuCollisionTaskProcess.h
47         SpuGatheringCollisionDispatcher.h
48         SpuContactManifoldCollisionAlgorithm.h
49         btParallelConstraintSolver.h
50
51         #SPURS_PEGatherScatterTask/SpuPEGatherScatterTask.h
52         #SpuPEGatherScatterTaskProcess.h
53
54         #Some GPU related stuff, mainly CUDA and perhaps OpenCL
55         btGpu3DGridBroadphase.h
56         btGpu3DGridBroadphaseSharedCode.h
57         btGpu3DGridBroadphaseSharedDefs.h
58         btGpu3DGridBroadphaseSharedTypes.h
59         btGpuDefines.h
60         btGpuUtilsSharedCode.h
61         btGpuUtilsSharedDefs.h
62 )
63
64 SET(SpuNarrowPhaseCollisionTask_HDRS
65         SpuNarrowPhaseCollisionTask/Box.h
66         SpuNarrowPhaseCollisionTask/boxBoxDistance.h
67         SpuNarrowPhaseCollisionTask/SpuContactResult.h
68         SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h
69         SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h
70         SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h
71         SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h
72         SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h
73 )
74
75 SET(BulletMultiThreaded_HDRS
76         ${Root_HDRS}
77         ${SpuNarrowPhaseCollisionTask_HDRS}
78 )
79
80 ADD_LIBRARY(BulletMultiThreaded ${BulletMultiThreaded_SRCS} ${BulletMultiThreaded_HDRS})
81 SET_TARGET_PROPERTIES(BulletMultiThreaded PROPERTIES VERSION ${BULLET_VERSION})
82 SET_TARGET_PROPERTIES(BulletMultiThreaded PROPERTIES SOVERSION ${BULLET_VERSION})
83
84
85 SUBDIRS(GpuSoftBodySolvers)
86
87
88 IF (BUILD_SHARED_LIBS)
89         IF (UNIX)
90                 TARGET_LINK_LIBRARIES(BulletMultiThreaded BulletDynamics BulletCollision pthread)
91         ELSE()
92                 TARGET_LINK_LIBRARIES(BulletMultiThreaded BulletDynamics BulletCollision)
93         ENDIF()
94 ENDIF (BUILD_SHARED_LIBS)
95
96
97 IF (INSTALL_LIBS)
98         IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
99                 #INSTALL of other files requires CMake 2.6
100                 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
101 #                       IF(INSTALL_EXTRA_LIBS)
102                                 IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
103                                         INSTALL(TARGETS BulletMultiThreaded DESTINATION .)
104                                 ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
105                                         INSTALL(TARGETS BulletMultiThreaded DESTINATION lib${LIB_SUFFIX})
106                                         INSTALL(DIRECTORY
107 ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING
108 PATTERN "*.h"  PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE)
109                                 ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
110 #                       ENDIF (INSTALL_EXTRA_LIBS)
111                 ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
112
113                 IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
114                         SET_TARGET_PROPERTIES(BulletMultiThreaded PROPERTIES FRAMEWORK true)
115                 
116                         SET_TARGET_PROPERTIES(BulletMultiThreaded PROPERTIES PUBLIC_HEADER "${Root_HDRS}")
117                         # Have to list out sub-directories manually:
118                         SET_PROPERTY(SOURCE ${SpuNarrowPhaseCollisionTask_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/SpuNarrowPhaseCollisionTask)
119                 
120                 ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
121         ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
122 ENDIF (INSTALL_LIBS)
123