Imported Upstream version 2.81
[platform/upstream/libbullet.git] / src / BulletMultiThreaded / GpuSoftBodySolvers / DX11 / CMakeLists.txt
1 \r
2 INCLUDE_DIRECTORIES(\r
3 ${BULLET_PHYSICS_SOURCE_DIR}/src\r
4 )\r
5 \r
6 SET(DXSDK_DIR $ENV{DXSDK_DIR})\r
7 SET(DX11_INCLUDE_PATH  "${DIRECTX_SDK_BASE_DIR}/Include" CACHE DOCSTRING "Microsoft directX SDK include path")\r
8 \r
9 \r
10 INCLUDE_DIRECTORIES(\r
11 ${DX11_INCLUDE_PATH} "../Shared/"\r
12 ${VECTOR_MATH_INCLUDE}\r
13 )\r
14 \r
15 SET(BulletSoftBodyDX11Solvers_SRCS\r
16         btSoftBodySolver_DX11.cpp\r
17         btSoftBodySolver_DX11SIMDAware.cpp\r
18 )\r
19 \r
20 SET(BulletSoftBodyDX11Solvers_HDRS\r
21         btSoftBodySolver_DX11.h\r
22         btSoftBodySolver_DX11SIMDAware.h\r
23         ../Shared/btSoftBodySolverData.h\r
24         btSoftBodySolverVertexData_DX11.h\r
25         btSoftBodySolverTriangleData_DX11.h\r
26         btSoftBodySolverLinkData_DX11.h\r
27         btSoftBodySolverLinkData_DX11SIMDAware.h\r
28         btSoftBodySolverBuffer_DX11.h\r
29         btSoftBodySolverVertexBuffer_DX11.h\r
30 \r
31 )\r
32 \r
33 # OpenCL and HLSL Shaders.\r
34 # Build rules generated to stringify these into headers\r
35 # which are needed by some of the sources\r
36 SET(BulletSoftBodyDX11Solvers_Shaders\r
37         OutputToVertexArray\r
38         UpdateNormals\r
39         Integrate\r
40         UpdatePositions\r
41         UpdateNodes\r
42         ComputeBounds\r
43         SolvePositions\r
44         SolvePositionsSIMDBatched\r
45         SolveCollisionsAndUpdateVelocities\r
46         SolveCollisionsAndUpdateVelocitiesSIMDBatched\r
47         UpdatePositionsFromVelocities\r
48         ApplyForces\r
49         PrepareLinks\r
50         VSolveLinks\r
51 )\r
52 \r
53 foreach(f ${BulletSoftBodyDX11Solvers_Shaders})\r
54     LIST(APPEND BulletSoftBodyDX11Solvers_HLSL "HLSL/${f}.hlsl")\r
55 endforeach(f) \r
56 \r
57 \r
58 \r
59 ADD_LIBRARY(BulletSoftBodySolvers_DX11  ${BulletSoftBodyDX11Solvers_SRCS} ${BulletSoftBodyDX11Solvers_HDRS} ${BulletSoftBodyDX11Solvers_HLSL})\r
60 SET_TARGET_PROPERTIES(BulletSoftBodySolvers_DX11 PROPERTIES VERSION ${BULLET_VERSION})\r
61 SET_TARGET_PROPERTIES(BulletSoftBodySolvers_DX11 PROPERTIES SOVERSION ${BULLET_VERSION})\r
62 IF (BUILD_SHARED_LIBS)\r
63         TARGET_LINK_LIBRARIES(BulletSoftBodySolvers_DX11 BulletSoftBody BulletDynamics)\r
64 ENDIF (BUILD_SHARED_LIBS)\r
65 \r
66 \r
67 IF (INSTALL_LIBS)\r
68         IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)\r
69                 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)\r
70                         IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)\r
71                                 INSTALL(TARGETS BulletSoftBodySolvers_DX11 DESTINATION .)\r
72                         ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)\r
73                         INSTALL(TARGETS BulletSoftBodySolvers_DX11 DESTINATION lib${LIB_SUFFIX})\r
74 #headers are already installed by BulletMultiThreaded library\r
75                         ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)\r
76                 ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)\r
77 \r
78                 IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)\r
79                         SET_TARGET_PROPERTIES(BulletSoftBodySolvers_DX11 PROPERTIES FRAMEWORK true)\r
80                         SET_TARGET_PROPERTIES(BulletSoftBodySolvers_DX11 PROPERTIES PUBLIC_HEADER "${BulletSoftBodyDX11Solvers_HDRS}")\r
81                 ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)\r
82         ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)\r
83 ENDIF (INSTALL_LIBS)\r