7
7
set (BUILD_CONFIG_DIR "" )
8
8
endif ()
9
9
10
+
11
+ macro (ax_link_ext EXTENSION_ENABLED LINKLIB )
12
+ if (${EXTENSION_ENABLED} )
13
+ list (APPEND LIBS ${LINKLIB} )
14
+ foreach (INCLUDEDIR ${ARGN} )
15
+ target_include_directories (${APP_NAME}
16
+ PRIVATE ${INCLUDEDIR}
17
+ )
18
+ endforeach ()
19
+ endif ()
20
+ endmacro ()
21
+
10
22
function (ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR )
11
23
# stupid: exclude CMAKE_CXX_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG to avoid cmake generate
12
24
# .vcxproj with incorrect debug msvc runtime, should be /MDd but got /MD
@@ -125,8 +137,6 @@ function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
125
137
box2d
126
138
chipmunk
127
139
freetype
128
- recast
129
- bullet
130
140
webp
131
141
pugixml
132
142
xxhash
@@ -142,110 +152,32 @@ function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
142
152
unzip
143
153
llhttp
144
154
simdjson
145
- physics-nodes
146
155
yasio
147
156
websocket-parser
148
157
)
149
-
150
- if (AX_ENABLE_EXT_DRAGONBONES )
151
- list (APPEND LIBS "cocostudio" )
152
- target_include_directories (${APP_NAME}
153
- PRIVATE ${AX_ROOT_DIR} /extensions/DragonBones/src
154
- )
155
- endif ()
156
-
157
- if (AX_ENABLE_EXT_COCOSTUDIO )
158
- list (APPEND LIBS "DragonBones" )
159
- target_include_directories (${APP_NAME}
160
- PRIVATE ${AX_ROOT_DIR} /extensions/cocostudio/src
161
- )
162
- endif ()
163
-
164
- if (AX_ENABLE_EXT_ASSETMANAGER )
165
- list (APPEND LIBS "assets-manager" )
166
- target_include_directories (${APP_NAME}
167
- PRIVATE ${AX_ROOT_DIR} /extensions/assets-manager/src
168
- )
169
- endif ()
170
-
171
- if (AX_ENABLE_EXT_PARTICLE3D )
172
- list (APPEND LIBS "particle3d" )
173
- target_include_directories (${APP_NAME}
174
- PRIVATE ${AX_ROOT_DIR} /extensions/Particle3D/src
175
- )
176
- endif ()
177
-
178
- if (AX_ENABLE_EXT_SPINE )
179
- list (APPEND LIBS "spine" )
180
- target_include_directories (${APP_NAME}
181
- PRIVATE ${AX_ROOT_DIR} /extensions/spine/runtime/include
182
- PRIVATE ${AX_ROOT_DIR} /extensions/spine/src
183
- )
184
- endif ()
185
158
186
- if (AX_ENABLE_EXT_IMGUI )
187
- list (APPEND LIBS "ImGui" )
188
- target_include_directories (${APP_NAME}
189
- PRIVATE ${AX_ROOT_DIR} /extensions/ImGui/src
190
- PRIVATE ${AX_ROOT_DIR} /extensions/ImGui/src/ImGui/imgui
191
- )
192
- endif ()
193
-
194
- if (AX_ENABLE_EXT_INSPECTOR )
195
- list (APPEND LIBS "Inspector" )
196
- target_include_directories (${APP_NAME}
197
- PRIVATE ${AX_ROOT_DIR} /extensions/Inspector/src
198
- )
199
- endif ()
200
-
201
- if (AX_ENABLE_EXT_SDFGEN )
202
- list (APPEND LIBS "SDFGen" )
203
- target_include_directories (${APP_NAME}
204
- PRIVATE ${AX_ROOT_DIR} /extensions/SDFGen/src
205
- )
206
- endif ()
207
-
208
- if (AX_ENABLE_EXT_DRAWNODEEX )
209
- list (APPEND LIBS "DrawNodeEx" )
210
- target_include_directories (${APP_NAME}
211
- PRIVATE ${AX_ROOT_DIR} /extensions/DrawNodeEx/src
212
- )
213
- endif ()
214
-
215
- if (AX_ENABLE_EXT_GUI )
216
- list (APPEND LIBS "GUI" )
217
- target_include_directories (${APP_NAME}
218
- PRIVATE ${AX_ROOT_DIR} /extensions/GUI/src
219
- )
220
- endif ()
159
+ ax_link_ext (AX_ENABLE_EXT_DRAGONBONES "DragonBones""${AX_ROOT_DIR} /extensions/DragonBones/src" )
160
+ ax_link_ext (AX_ENABLE_EXT_COCOSTUDIO "cocosstudio" "${AX_ROOT_DIR} /extensions/cocostudio/src" )
161
+ ax_link_ext (AX_ENABLE_EXT_ASSETMANAGER "assets-manager" "${AX_ROOT_DIR} /extensions/assets-manager/src" )
162
+ ax_link_ext (AX_ENABLE_EXT_PARTICLE3D "particle3d" "${AX_ROOT_DIR} /extensions/Particle3D/src" )
163
+ ax_link_ext (AX_ENABLE_EXT_INSPECTOR "Inspector" "${AX_ROOT_DIR} /extensions/Inspector/src" )
164
+ ax_link_ext (AX_ENABLE_EXT_SDFGEN "SDFGen" "${AX_ROOT_DIR} /extensions/SDFGen/src" )
165
+ ax_link_ext (AX_ENABLE_EXT_DRAWNODEEX "DrawNodeEx" "${AX_ROOT_DIR} /extensions/DrawNodeEx/src" )
166
+ ax_link_ext (AX_ENABLE_EXT_GUI "GUI" "${AX_ROOT_DIR} /extensions/GUI/src" )
167
+ ax_link_ext (AX_ENABLE_EXT_FAIRYGUI "fairygui" "${AX_ROOT_DIR} /extensions/fairygui/src" )
168
+ ax_link_ext (AX_ENABLE_EXT_LIVE2D "Live2D" "${AX_ROOT_DIR} /extensions/Live2D/Framework/src" )
169
+ ax_link_ext (AX_ENABLE_EXT_EFFEKSEER "EffekseerForCocos2d-x" "${AX_ROOT_DIR} /extensions/Effekseer" )
170
+ ax_link_ext (AX_ENABLE_EXT_PHYSICS_NODE "physics-nodes" "${AX_ROOT_DIR} /extensions/physics-nodes/src" )
171
+ ax_link_ext (AX_ENABLE_NAVMESH "recast" "${AX_ROOT_DIR} /3rdparty/recast" )
172
+ ax_link_ext (AX_ENABLE_3D_PHYSICS "bullet" "${AX_ROOT_DIR} /3rdparty/bullet" )
221
173
222
- if (AX_ENABLE_EXT_FAIRYGUI )
223
- list (APPEND LIBS "fairygui" )
224
- target_include_directories (${APP_NAME}
225
- PRIVATE ${AX_ROOT_DIR} /extensions/fairygui/src
226
- )
227
- endif ()
228
-
229
- if (AX_ENABLE_EXT_LIVE2D )
230
- list (APPEND LIBS "Live2D" )
231
- target_include_directories (${APP_NAME}
232
- PRIVATE ${AX_ROOT_DIR} /extensions/Live2D/Framework/src
233
- )
234
- endif ()
235
-
236
- if (AX_ENABLE_EXT_EFFEKSEER )
237
- list (APPEND LIBS "EffekseerForCocos2d-x" )
238
- target_include_directories (${APP_NAME}
239
- PRIVATE ${AX_ROOT_DIR} /extensions/Effekseer
240
- )
241
- endif ()
174
+ ax_link_ext (AX_ENABLE_EXT_IMGUI "ImGui"
175
+ "${AX_ROOT_DIR} /extensions/ImGui/src" "${AX_ROOT_DIR} /extensions/ImGui/src/ImGui/imgui"
176
+ )
242
177
243
- if (AX_ENABLE_EXT_PHYSICS_NODE )
244
- list (APPEND LIBS "physics-nodes" )
245
- target_include_directories (${APP_NAME}
246
- PRIVATE ${AX_ROOT_DIR} /extensions/physics-nodes/src
247
- )
248
- endif ()
178
+ ax_link_ext (AX_ENABLE_EXT_SPINE "spine"
179
+ "${AX_ROOT_DIR} /extensions/spine/runtime/include" "${AX_ROOT_DIR} /extensions/spine/src"
180
+ )
249
181
250
182
if (WINDOWS )
251
183
target_link_libraries (${APP_NAME}
0 commit comments