-
Notifications
You must be signed in to change notification settings - Fork 342
/
Copy pathCMakeLists.txt
74 lines (63 loc) · 2.42 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
cmake_minimum_required(VERSION 3.6)
set(lib_name bullet)
set(target_name ext_${lib_name})
project(${lib_name})
include(../cmake/CocosExternalConfig.cmake)
add_library(${target_name} STATIC IMPORTED GLOBAL)
set_property(TARGET ${target_name} APPEND PROPERTY
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include"
)
set_property(TARGET ${target_name} APPEND PROPERTY
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include/bullet"
)
if(WINDOWS)
set_target_properties(${target_name} PROPERTIES
IMPORTED_LOCATION_DEBUG "${platform_spec_path}/debug/lib${lib_name}.lib"
IMPORTED_LOCATION_RELEASE "${platform_spec_path}/release/lib${lib_name}.lib"
)
set_target_properties(${target_name} PROPERTIES
MAP_IMPORTED_CONFIG_MINSIZEREL Release
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
)
else()
set_target_properties(${target_name} PROPERTIES
IMPORTED_LOCATION "${platform_spec_path}/libLinearMath.a"
)
# multi libs
add_library(bulletcollision STATIC IMPORTED)
set_target_properties(bulletcollision PROPERTIES
IMPORTED_LOCATION "${platform_spec_path}/libBulletCollision.a"
)
add_library(bulletdynamics STATIC IMPORTED)
set_target_properties(bulletdynamics PROPERTIES
IMPORTED_LOCATION "${platform_spec_path}/libBulletDynamics.a"
)
add_library(bulletmultithreaded STATIC IMPORTED)
set_target_properties(bulletmultithreaded PROPERTIES
IMPORTED_LOCATION "${platform_spec_path}/libBulletMultiThreaded.a"
)
add_library(minicl STATIC IMPORTED)
set_target_properties(minicl PROPERTIES
IMPORTED_LOCATION "${platform_spec_path}/libMiniCL.a"
)
add_library(linearmath STATIC IMPORTED)
set_target_properties(linearmath PROPERTIES
IMPORTED_LOCATION "${platform_spec_path}/libLinearMath.a"
)
# internal link depend
set_property(TARGET bulletcollision APPEND PROPERTY INTERFACE_LINK_LIBRARIES "linearmath")
set_property(TARGET bulletdynamics APPEND PROPERTY INTERFACE_LINK_LIBRARIES "bulletcollision")
# mark multi libs link into single one: "${target_name}"
set_property(TARGET ${target_name} APPEND PROPERTY
INTERFACE_LINK_LIBRARIES "bulletcollision"
)
set_property(TARGET ${target_name} APPEND PROPERTY
INTERFACE_LINK_LIBRARIES "bulletdynamics"
)
set_property(TARGET ${target_name} APPEND PROPERTY
INTERFACE_LINK_LIBRARIES "bulletmultithreaded"
)
set_property(TARGET ${target_name} APPEND PROPERTY
INTERFACE_LINK_LIBRARIES "minicl"
)
endif()