-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
109 lines (99 loc) · 2.35 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
cmake_minimum_required(VERSION 3.26)
project(HinaPE-SplisHSPlasHFluid)
set(CMAKE_CXX_STANDARD 17)
set(TARGET SIM_SplisHSPlasHFluid)
# Find Houdini
if (MSVC)
set(Houdini_PATH "C:/Program Files/Side Effects Software/Houdini 20.0.547")
elseif (APPLE)
set(Houdini_PATH "/Applications/Houdini/Houdini20.0.547/Frameworks/Houdini.framework/Versions/20.0/Resources")
endif ()
set(Houdini_DIR ${Houdini_PATH}/toolkit/cmake)
find_package(Houdini REQUIRED)
# Load Source
add_library(
${TARGET}
SHARED
Entrance.cpp
)
set(Lib_SplisHSPlasHFluid
CompactNSearch
Discregrid
glfw3
imgui
MD5
nfd
partio
PositionBasedDynamics
Simulation
SimulatorBase
SPlisHSPlasH
tinyexpr
Utilities
Utils
zlib
opengl32.lib
glu32.lib
)
# Link Houdini Toolkit
target_link_libraries(
${TARGET}
PUBLIC
Houdini
${Lib_SplisHSPlasHFluid}
)
target_link_directories(
${TARGET}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
install/lib
)
target_include_directories(
${TARGET}
PUBLIC
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
install/include
install/include/Simulator
install/include/extern/glfw/deps
)
target_compile_options(
${TARGET}
PRIVATE
-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
)
houdini_configure_target(${TARGET})
# Build Test
set(TEST_TARGET mytest)
add_executable(
${TEST_TARGET}
test/main.cpp
)
target_link_libraries(
${TEST_TARGET}
PUBLIC
Houdini
${Lib_SplisHSPlasHFluid}
)
target_link_directories(
${TEST_TARGET}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
install/lib
)
target_include_directories(
${TEST_TARGET}
PUBLIC
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
install/include
install/include/Simulator
install/include/extern/glfw/deps
)
set(SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/install/resources")
set(DEST_DIR "${CMAKE_BINARY_DIR}/resources")
add_custom_command(
TARGET ${TEST_TARGET} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${SOURCE_DIR} ${DEST_DIR}
COMMENT "Copying directory from ${SOURCE_DIR} to ${DEST_DIR}"
)