1 cmake_minimum_required(VERSION 2.4)
\r
4 #this line has to appear before 'PROJECT' in order to be able to disable incremental linking
\r
5 SET(MSVC_INCREMENTAL_DEFAULT ON)
\r
7 PROJECT(AppDX11ClothDemo)
\r
8 SET(BULLET_VERSION 2.76)
\r
10 IF (NOT CMAKE_BUILD_TYPE)
\r
11 # SET(CMAKE_BUILD_TYPE "Debug")
\r
12 SET(CMAKE_BUILD_TYPE "Release")
\r
13 ENDIF (NOT CMAKE_BUILD_TYPE)
\r
16 OPTION(USE_MSVC_RUNTIME_LIBRARY_DLL "Use MSVC Runtime Library DLL (/MD or /MDd)" ON)
\r
17 OPTION(USE_MSVC_INCREMENTAL_LINKING "Use MSVC Incremental Linking" OFF)
\r
22 IF (NOT USE_MSVC_INCREMENTAL_LINKING)
\r
23 #MESSAGE("MSVC_INCREMENTAL_DEFAULT"+${MSVC_INCREMENTAL_DEFAULT})
\r
24 SET( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL:NO")
\r
26 STRING(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags ${CMAKE_EXE_LINKER_FLAGS_DEBUG})
\r
27 SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "/INCREMENTAL:NO ${replacementFlags}" )
\r
28 MESSAGE("CMAKE_EXE_LINKER_FLAGS_DEBUG=${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
\r
30 STRING(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags3 ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO})
\r
31 SET(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO ${replacementFlags3})
\r
32 SET(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "/INCREMENTAL:NO ${replacementFlags3}" )
\r
33 ENDIF (NOT USE_MSVC_INCREMENTAL_LINKING)
\r
35 IF (NOT USE_MSVC_RUNTIME_LIBRARY_DLL)
\r
36 #We statically link to reduce dependancies
\r
37 FOREACH(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
\r
38 IF(${flag_var} MATCHES "/MD")
\r
39 STRING(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
\r
40 ENDIF(${flag_var} MATCHES "/MD")
\r
41 IF(${flag_var} MATCHES "/MDd")
\r
42 STRING(REGEX REPLACE "/MDd" "/MTd" ${flag_var} "${${flag_var}}")
\r
43 ENDIF(${flag_var} MATCHES "/MDd")
\r
44 ENDFOREACH(flag_var)
\r
45 ENDIF (NOT USE_MSVC_RUNTIME_LIBRARY_DLL)
\r
47 OPTION(USE_MSVC_SSE "Use MSVC /arch:sse option" ON)
\r
49 ADD_DEFINITIONS(/arch:SSE)
\r
51 OPTION(USE_MSVC_FAST_FLOATINGPOINT "Use MSVC /fp:fast option" ON)
\r
52 IF (USE_MSVC_FAST_FLOATINGPOINT)
\r
53 ADD_DEFINITIONS(/fp:fast)
\r
58 IF(COMMAND cmake_policy)
\r
59 cmake_policy(SET CMP0003 NEW)
\r
60 ENDIF(COMMAND cmake_policy)
\r
65 SET(DXSDK_DIR $ENV{DXSDK_DIR})
\r
66 SET(DX11_INCLUDE_PATH "${DXSDK_DIR}Include" CACHE DOCSTRING "Microsoft directX SDK include path")
\r
68 SET(DX11_LIB_PATH "${DXSDK_DIR}Lib/x64" CACHE DOCSTRING "Microsoft DirectX SDK library path")
\r
70 SET(DX11_LIB_PATH "${DXSDK_DIR}Lib/x86" CACHE DOCSTRING "Microsoft DirectX SDK library path")
\r
73 SET(BulletClothExample_SRCS
\r
75 DXUT/Optional/DXUTcamera.cpp
\r
76 DXUT/Core/DXUTDevice11.cpp
\r
77 DXUT/Core/DXUTDevice9.cpp
\r
78 DXUT/Optional/DXUTgui.cpp
\r
79 DXUT/Core/DXUTmisc.cpp
\r
80 DXUT/Optional/DXUTres.cpp
\r
81 DXUT/Optional/DXUTsettingsdlg.cpp
\r
82 DXUT/Optional/SDKmesh.cpp
\r
83 DXUT/Optional/SDKmisc.cpp
\r
89 SET(BulletClothExample_HDRS
\r
91 DXUT/Optional/DXUTcamera.h
\r
92 DXUT/Core/DXUTDevice11.h
\r
93 DXUT/Core/DXUTDevice9.h
\r
94 DXUT/Optional/DXUTgui.h
\r
95 DXUT/Core/DXUTmisc.h
\r
96 DXUT/Optional/DXUTres.h
\r
97 DXUT/Optional/DXUTsettingsdlg.h
\r
98 DXUT/Optional/SDKmesh.h
\r
99 DXUT/Optional/SDKmisc.h
\r
101 btDirectComputeSupport.h
\r
110 INCLUDE_DIRECTORIES(
\r
111 ${DX11_INCLUDE_PATH}
\r
112 ${BULLET_PHYSICS_SOURCE_DIR}/src
\r
115 ${VECTOR_MATH_INCLUDE}
\r
121 ADD_DEFINITIONS(-DUNICODE)
\r
122 ADD_DEFINITIONS(-D_UNICODE)
\r
124 ADD_EXECUTABLE(AppDX11ClothDemo WIN32
\r
125 ${BulletClothExample_SRCS}
\r
126 ${BulletClothExample_HDRS}
\r
128 TARGET_LINK_LIBRARIES(AppDX11ClothDemo
\r
141 BulletSoftBodySolvers_DX11
\r
144 IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
\r
145 SET_TARGET_PROPERTIES(AppDX11ClothDemo PROPERTIES DEBUG_POSTFIX "_Debug")
\r
146 SET_TARGET_PROPERTIES(AppDX11ClothDemo PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel")
\r
147 SET_TARGET_PROPERTIES(AppDX11ClothDemo PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
\r
151 IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
\r
152 ADD_CUSTOM_COMMAND(
\r
153 TARGET AppDX11ClothDemo
\r
155 COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/DX11ClothDemo/cloth_renderer_PS.hlsl ${CMAKE_CURRENT_BINARY_DIR}/cloth_renderer_PS.hlsl
\r
156 COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/DX11ClothDemo/cloth_renderer_VS.hlsl ${CMAKE_CURRENT_BINARY_DIR}/cloth_renderer_VS.hlsl
\r
157 COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/DX11ClothDemo/texture.bmp ${CMAKE_CURRENT_BINARY_DIR}/texture.bmp
\r
158 COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/DX11ClothDemo/amdFlag.bmp ${CMAKE_CURRENT_BINARY_DIR}/amdFlag.bmp
\r
159 COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/DX11ClothDemo/atiFlag.bmp ${CMAKE_CURRENT_BINARY_DIR}/atiFlag.bmp
\r
160 COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/DX11ClothDemo/texture.png ${CMAKE_CURRENT_BINARY_DIR}/texture.png
\r
161 COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/DX11ClothDemo/Media/UI/Font.dds ${CMAKE_CURRENT_BINARY_DIR}/Media/UI/Font.dds
\r
162 COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/DX11ClothDemo/Media/Tiny/tiny.sdkmesh ${CMAKE_CURRENT_BINARY_DIR}/Media/Tiny/tiny.sdkmesh
\r