Skip to content

Commit 6daa6c7

Browse files
authored
fix prebuilt, add ax_link_ext macro (#2022)
1 parent 15a5dd1 commit 6daa6c7

File tree

1 file changed

+32
-100
lines changed

1 file changed

+32
-100
lines changed

cmake/Modules/AXLinkHelpers.cmake

Lines changed: 32 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ else()
77
set(BUILD_CONFIG_DIR "")
88
endif()
99

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+
1022
function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
1123
# stupid: exclude CMAKE_CXX_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG to avoid cmake generate
1224
# .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)
125137
box2d
126138
chipmunk
127139
freetype
128-
recast
129-
bullet
130140
webp
131141
pugixml
132142
xxhash
@@ -142,110 +152,32 @@ function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
142152
unzip
143153
llhttp
144154
simdjson
145-
physics-nodes
146155
yasio
147156
websocket-parser
148157
)
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()
185158

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")
221173

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+
)
242177

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+
)
249181

250182
if (WINDOWS)
251183
target_link_libraries(${APP_NAME}

0 commit comments

Comments
 (0)