Skip to content

Commit 1553121

Browse files
authored
Pre-built CMake configuration fixes (#2058)
1 parent 4de7e28 commit 1553121

File tree

3 files changed

+31
-19
lines changed

3 files changed

+31
-19
lines changed

cmake/Modules/AXBuildHelpers.cmake

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ function(ax_sync_target_res ax_target)
1717
set(oneValueArgs LINK_TO SYNC_TARGET_ID)
1818
set(multiValueArgs FOLDERS)
1919
cmake_parse_arguments(opt "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
20-
20+
2121
if (NOT DEFINED opt_SYNC_TARGET_ID)
2222
set(sync_target_name "SYNC_RESOURCE-${ax_target}")
2323
else()
2424
set(sync_target_name "SYNC_RESOURCE-${ax_target}-${opt_SYNC_TARGET_ID}")
2525
endif()
2626

2727
ax_def_sync_resource_target(${ax_target} ${sync_target_name})
28-
28+
2929
if(NOT TARGET ${sync_target_name})
3030
message(WARNING "SyncResource targe for ${ax_target} is not defined")
3131
return()
@@ -291,7 +291,7 @@ function(ax_mark_resources)
291291
# MakeAppx.exe require deployment location path rule
292292
# - must full quailfied windows style path
293293
# - can't start with .\xxx.txt, must be xxx.txt
294-
#
294+
#
295295
# Otherwise, will fail with:
296296
# MakeAppx : error : 0x8007007b - The filename, directory name, or volume label syntax is incorrect.
297297
if (opt_RESOURCEBASE STREQUAL ".")
@@ -439,7 +439,7 @@ function(ax_setup_app_config app_name)
439439
# windows: visual studio/LLVM-clang default is Console app, but we need Windows app
440440
set(_win32_linker_flags "")
441441
set(_win32_console_app FALSE)
442-
442+
443443
if (NOT opt_CONSOLE OR WINRT)
444444
set(_win32_linker_flags "/SUBSYSTEM:WINDOWS")
445445
else()
@@ -571,9 +571,14 @@ macro (ax_setup_app_props app_name)
571571
foreach(FOLDER IN LISTS _APP_RES_FOLDER)
572572
string(APPEND EMSCRIPTEN_LINK_FLAGS " --preload-file ${FOLDER}/@/")
573573
endforeach()
574-
574+
575575
set_target_properties(${app_name} PROPERTIES LINK_FLAGS "${EMSCRIPTEN_LINK_FLAGS}")
576576
endif()
577+
578+
if(MSVC)
579+
# explicit set source charset to utf-8 for windows targets
580+
target_compile_options(${APP_NAME} PRIVATE "/utf-8")
581+
endif()
577582
endmacro()
578583

579584
# if cc_variable not set, then set it cc_value
@@ -590,7 +595,7 @@ macro(ax_setup_winrt_sources )
590595

591596
get_target_depends_ext_dlls(3rdparty prebuilt_dlls)
592597

593-
if (NOT prebuilt_dlls)
598+
if (NOT prebuilt_dlls)
594599
set(prebuilt_dlls
595600
${_AX_ROOT}/${_AX_THIRDPARTY_NAME}/zlib/_x/lib/${PLATFORM_NAME}/${ARCH_ALIAS}/zlib1.dll
596601
${_AX_ROOT}/${_AX_THIRDPARTY_NAME}/openssl/_x/lib/${PLATFORM_NAME}/${ARCH_ALIAS}/libssl-3-x64.dll

cmake/Modules/AXConfigDefine.cmake

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ if (WINDOWS)
3535
set(CMAKE_C_STANDARD 11)
3636
else()
3737
# windows sdk < 10.0.22000.0, The c11 header stdalign.h was missing, so workaroud fallback C standard to 99
38-
# refer to:
38+
# refer to:
3939
# - https://github.com/axmolengine/axmol/issues/991
4040
# - https://github.com/axmolengine/axmol/issues/1246
4141
message(WARNING "Forcing set CMAKE_C_STANDARD to 99 when winsdk < 10.0.22000.0")
@@ -132,20 +132,27 @@ function(use_ax_compile_define target)
132132
if(AX_USE_GL)
133133
target_compile_definitions(${target}
134134
PUBLIC AX_USE_GL=1
135-
PUBLIC AX_GLES_PROFILE=${AX_GLES_PROFILE}
136135
PUBLIC GL_SILENCE_DEPRECATION=1
137136
)
137+
if(NOT _AX_USE_PREBUILT)
138+
target_compile_definitions(${target} PUBLIC AX_GLES_PROFILE=${AX_GLES_PROFILE})
139+
endif()
138140
endif()
139141
elseif(LINUX)
140142
ax_config_pred(${target} AX_ENABLE_VLC_MEDIA)
141143
target_compile_definitions(${target} PUBLIC _GNU_SOURCE)
142144
elseif(ANDROID)
145+
if(NOT _AX_USE_PREBUILT)
146+
target_compile_definitions(${target} PUBLIC AX_GLES_PROFILE=${AX_GLES_PROFILE})
147+
endif()
143148
target_compile_definitions(${target} PUBLIC AX_GLES_PROFILE=${AX_GLES_PROFILE})
144149
target_compile_definitions(${target} PUBLIC USE_FILE32API)
145150
elseif(EMSCRIPTEN)
146151
target_compile_definitions(${target} PUBLIC AX_GLES_PROFILE=${AX_GLES_PROFILE})
147152
elseif(WINDOWS)
148-
target_compile_definitions(${target} PUBLIC AX_GLES_PROFILE=${AX_GLES_PROFILE})
153+
if(NOT _AX_USE_PREBUILT)
154+
target_compile_definitions(${target} PUBLIC AX_GLES_PROFILE=${AX_GLES_PROFILE})
155+
endif()
149156
ax_config_pred(${target} AX_ENABLE_VLC_MEDIA)
150157
target_compile_definitions(${target}
151158
PUBLIC WIN32

cmake/Modules/AXLinkHelpers.cmake

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
4343
message(STATUS "AX_ENABLE_EXT_EFFEKSEER=${AX_ENABLE_EXT_EFFEKSEER}")
4444
message(STATUS "AX_ENABLE_EXT_LUA=${AX_ENABLE_EXT_LUA}")
4545
message(STATUS "AX_ENABLE_EXT_DRAWNODEEX=${AX_ENABLE_EXT_DRAWNODEEX}")
46-
46+
4747
# compile defines can't inherit when link prebuits, so need add manually
48-
target_compile_definitions(${APP_NAME}
48+
target_compile_definitions(${APP_NAME}
4949
PRIVATE AX_GLES_PROFILE=${AX_GLES_PROFILE}
5050
PRIVATE OPENSSL_SUPPRESS_DEPRECATED=1
5151
PRIVATE NOUNCRYPT=1
@@ -156,8 +156,8 @@ function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
156156
websocket-parser
157157
)
158158

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")
159+
ax_link_ext(AX_ENABLE_EXT_DRAGONBONES "DragonBones" "${AX_ROOT_DIR}/extensions/DragonBones/src")
160+
ax_link_ext(AX_ENABLE_EXT_COCOSTUDIO "cocostudio" "${AX_ROOT_DIR}/extensions/cocostudio/src")
161161
ax_link_ext(AX_ENABLE_EXT_ASSETMANAGER "assets-manager" "${AX_ROOT_DIR}/extensions/assets-manager/src")
162162
ax_link_ext(AX_ENABLE_EXT_PARTICLE3D "particle3d" "${AX_ROOT_DIR}/extensions/Particle3D/src")
163163
ax_link_ext(AX_ENABLE_EXT_INSPECTOR "Inspector" "${AX_ROOT_DIR}/extensions/Inspector/src")
@@ -188,11 +188,11 @@ function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
188188
libssl
189189
libcurl_imp
190190
)
191-
191+
192192
if (AX_ENABLE_AUDIO)
193193
target_link_libraries(${APP_NAME}
194194
OpenAL32
195-
)
195+
)
196196
endif()
197197
else()
198198
target_link_libraries(${APP_NAME}
@@ -203,12 +203,12 @@ function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
203203
ssl
204204
crypto
205205
)
206-
206+
207207
if (AX_ENABLE_AUDIO)
208208
target_link_libraries(${APP_NAME}
209209
openal
210-
)
211-
endif()
210+
)
211+
endif()
212212
endif()
213213

214214
target_link_libraries(${APP_NAME} debug fmtd optimized fmt)
@@ -231,7 +231,7 @@ function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
231231
add_custom_command(TARGET ${APP_NAME} POST_BUILD
232232
COMMAND ${CMAKE_COMMAND} -E copy_if_different
233233
"${AX_ROOT_DIR}/${AX_PREBUILT_DIR}/bin/${BUILD_CONFIG_DIR}OpenAL32.dll"
234-
$<TARGET_FILE_DIR:${APP_NAME}>)
234+
$<TARGET_FILE_DIR:${APP_NAME}>)
235235
endif()
236236

237237
if (BUILD_SHARED_LIBS)

0 commit comments

Comments
 (0)