|
@@ -357,10 +357,10 @@ if (NOT XCODE AND NOT MSVC)
|
|
|
COMMAND libtool -static $<TARGET_FILE:${TARGET_NAME}>.engine ${ARCHIVES} -o $<TARGET_FILE:${TARGET_NAME}>
|
|
COMMAND libtool -static $<TARGET_FILE:${TARGET_NAME}>.engine ${ARCHIVES} -o $<TARGET_FILE:${TARGET_NAME}>
|
|
|
COMMAND rm $<TARGET_FILE:${TARGET_NAME}>.engine
|
|
COMMAND rm $<TARGET_FILE:${TARGET_NAME}>.engine
|
|
|
COMMENT "Merging all archives into a single static library using libtool")
|
|
COMMENT "Merging all archives into a single static library using libtool")
|
|
|
- elseif (EMSCRIPTEN OR CMAKE_BINARY_DIR MATCHES " ")
|
|
|
|
|
|
|
+ elseif (EMSCRIPTEN OR CMAKE_BINARY_DIR MATCHES "[ +*;,]")
|
|
|
# Do it the hard way by first extracting the object (bitcode) files and appending them to final archive:
|
|
# Do it the hard way by first extracting the object (bitcode) files and appending them to final archive:
|
|
|
# a) For Emscripten build as Emscripten emar (llvm-ar) neither takes archives directly as input nor supports MRI-style script
|
|
# a) For Emscripten build as Emscripten emar (llvm-ar) neither takes archives directly as input nor supports MRI-style script
|
|
|
- # b) When the build tree path contains spaces because MRI script does not support spaces in path even with proper escape
|
|
|
|
|
|
|
+ # b) When the build tree path contains special characters for MRI scripts (space, '+', '*', ';', ',') as escaping is not supported
|
|
|
get_filename_component (AR ${CMAKE_AR} NAME_WE)
|
|
get_filename_component (AR ${CMAKE_AR} NAME_WE)
|
|
|
if (CMAKE_HOST_WIN32)
|
|
if (CMAKE_HOST_WIN32)
|
|
|
add_custom_command (TARGET ${TARGET_NAME} POST_BUILD
|
|
add_custom_command (TARGET ${TARGET_NAME} POST_BUILD
|