forked from Autodesk/arnold-usd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
107 lines (98 loc) · 3.63 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
set(SRC
reader/prim_reader.cpp
reader/read_arnold_type.cpp
reader/read_camera.cpp
reader/read_geometry.cpp
reader/read_light.cpp
reader/read_shader.cpp
reader/read_options.cpp
reader/reader.cpp
reader/registry.cpp
reader/utils.cpp
writer/prim_writer.cpp
writer/registry.cpp
writer/write_arnold_type.cpp
writer/write_camera.cpp
writer/write_geometry.cpp
writer/write_light.cpp
writer/write_shader.cpp
writer/writer.cpp)
set(HDR
reader/prim_reader.h
reader/read_arnold_type.h
reader/read_camera.h
reader/read_geometry.h
reader/read_light.h
reader/read_shader.h
reader/read_options.h
reader/reader.h
reader/registry.h
reader/utils.h
utils/utils.h
writer/prim_writer.h
writer/registry.h
writer/write_arnold_type.h
writer/write_camera.h
writer/write_geometry.h
writer/write_light.h
writer/write_shader.h
writer/writer.h)
add_library(translator STATIC ${COMMON_SRC} ${SRC})
if (BUILD_HEADERS_AS_SOURCES)
target_sources(translator PRIVATE ${COMMON_HDR} ${HDR})
endif ()
target_include_directories(translator SYSTEM PUBLIC "${USD_INCLUDE_DIR}")
target_include_directories(translator SYSTEM PUBLIC "${ARNOLD_INCLUDE_DIR}")
target_include_directories(translator SYSTEM PUBLIC "${Boost_INCLUDE_DIRS}")
target_include_directories(translator SYSTEM PUBLIC "${TBB_INCLUDE_DIRS}")
if (BUILD_USE_PYTHON3)
target_include_directories(translator SYSTEM PUBLIC "${Python3_INCLUDE_DIRS}")
else ()
target_include_directories(translator SYSTEM PUBLIC "${Python2_INCLUDE_DIRS}")
endif ()
target_include_directories(translator PUBLIC "${CMAKE_CURRENT_BINARY_DIR}")
target_link_libraries(translator INTERFACE "${ARNOLD_LIBRARY}")
if (USD_HAS_PYTHON)
target_link_libraries(translator INTERFACE "${Boost_LIBRARIES}")
if (BUILD_USE_PYTHON3)
target_link_libraries(translator INTERFACE Python3::Python)
else ()
target_link_libraries(translator INTERFACE Python2::Python)
endif ()
endif ()
if (USD_STATIC_BUILD)
if (WIN32)
target_link_options(translator INTERFACE "-WHOLEARCHIVE:${USD_usd_m_LIBRARY}")
target_link_libraries(translator INTERFACE Ws2_32 Dbghelp Shlwapi advapi32)
target_link_libraries(translator INTERFACE "${TBB_LIBRARIES}")
else ()
set(_staticlibs "${USD_usd_m_LIBRARY}")
if (TBB_STATIC_BUILD)
set(_staticlibs "${_staticlibs},${TBB_LIBRARIES}")
else ()
target_link_libraries(translator INTERFACE "${TBB_LIBRARIES}")
endif ()
if (LINUX)
target_link_libraries(translator INTERFACE dl pthread)
target_link_options(translator INTERFACE "-Wl,--whole-archive,${_staticlibs},--no-whole-archive")
else () # APPLE
target_link_options(translator INTERFACE "-Wl,-all_load,${_staticlibs},-noall_load")
endif ()
endif ()
else ()
target_link_libraries(translator INTERFACE "${TBB_LIBRARIES}")
if (USD_MONOLITHIC_BUILD)
target_link_libraries(translator INTERFACE usd_ms)
else ()
if (LINUX)
target_link_libraries(translator INTERFACE dl pthread)
endif ()
target_link_libraries(translator INTERFACE gf sdf tf usd ar arch pcp vt work)
target_link_libraries(translator INTERFACE usdGeom usdShade usdUtils usdLux usdVol usdSkel usdRender)
endif ()
endif ()
if (NOT WIN32)
set_target_properties(translator PROPERTIES POSITION_INDEPENDENT_CODE ON)
endif ()
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${SRC} ${HDR})
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/../common PREFIX common FILES ${COMMON_SRC} ${COMMON_HDR})