OSDN Git Service

merge from MikuMikuStudio nativebullet.
[mikumikustudio/libgdx-mikumikustudio.git] / extensions / gdx-bullet / jni / src / bullet / BulletMultiThreaded / GpuSoftBodySolvers / OpenCL / MiniCL / CMakeLists.txt
1
2 INCLUDE_DIRECTORIES(
3 ${BULLET_PHYSICS_SOURCE_DIR}/src
4 )
5
6 ADD_DEFINITIONS(-DUSE_MINICL)
7
8
9
10
11 SET(BulletSoftBodyOpenCLSolvers_SRCS
12         ../btSoftBodySolver_OpenCL.cpp
13 )
14
15 SET(BulletSoftBodyOpenCLSolvers_HDRS
16         ../btSoftBodySolver_OpenCL.h
17         ../../Shared/btSoftBodySolverData.h
18         ../btSoftBodySolverVertexData_OpenCL.h
19         ../btSoftBodySolverTriangleData_OpenCL.h
20         ../btSoftBodySolverLinkData_OpenCL.h
21         ../btSoftBodySolverBuffer_OpenCL.h
22 )
23
24 # OpenCL and HLSL Shaders.
25 # Build rules generated to stringify these into headers
26 # which are needed by some of the sources
27 SET(BulletSoftBodyOpenCLSolvers_Shaders
28 #       OutputToVertexArray
29         UpdateNormals
30         Integrate
31         UpdatePositions
32         UpdateNodes
33         SolvePositions
34         UpdatePositionsFromVelocities
35         ApplyForces
36         PrepareLinks
37         VSolveLinks
38 )
39
40 foreach(f ${BulletSoftBodyOpenCLSolvers_Shaders})
41     LIST(APPEND BulletSoftBodyOpenCLSolvers_OpenCLC "../OpenCLC10/${f}.cl")
42 endforeach(f) 
43
44
45
46 ADD_LIBRARY(BulletSoftBodySolvers_OpenCL_Mini
47         ${BulletSoftBodyOpenCLSolvers_SRCS} 
48         ${BulletSoftBodyOpenCLSolvers_HDRS} 
49         ${BulletSoftBodyOpenCLSolvers_OpenCLC}
50 )
51
52 SET_TARGET_PROPERTIES(BulletSoftBodySolvers_OpenCL_Mini PROPERTIES VERSION ${BULLET_VERSION})
53 SET_TARGET_PROPERTIES(BulletSoftBodySolvers_OpenCL_Mini PROPERTIES SOVERSION ${BULLET_VERSION})
54 IF (BUILD_SHARED_LIBS)
55         TARGET_LINK_LIBRARIES(BulletSoftBodySolvers_OpenCL_Mini MiniCL BulletMultiThreaded BulletSoftBody)
56 ENDIF (BUILD_SHARED_LIBS)
57
58
59 IF (INSTALL_LIBS)
60         IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
61                 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
62                         IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
63                                 INSTALL(TARGETS BulletSoftBodySolvers_OpenCL_Mini DESTINATION .)
64                         ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
65                                 INSTALL(TARGETS BulletSoftBodySolvers_OpenCL_Mini DESTINATION lib${LIB_SUFFIX})
66 #headers are already installed by BulletMultiThreaded library
67                         ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
68                 ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
69
70                 IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
71                         SET_TARGET_PROPERTIES(BulletSoftBodySolvers_OpenCL_Mini PROPERTIES FRAMEWORK true)
72                         SET_TARGET_PROPERTIES(BulletSoftBodySolvers_OpenCL_Mini PROPERTIES PUBLIC_HEADER "${BulletSoftBodyOpenCLSolvers_HDRS}")
73                 ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
74         ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
75 ENDIF (INSTALL_LIBS)