forked from Mirrors/openclonk
Get CMake to use tools from a native build when cross-compiling
parent
d994b893ba
commit
a7548cfa12
|
@ -1412,6 +1412,16 @@ if(USE_GCC_PCH)
|
|||
add_precompiled_header(openclonk src/C4Include.h)
|
||||
endif()
|
||||
|
||||
# When cross-compiling, import c4group from a native build
|
||||
IF(CMAKE_CROSSCOMPILING)
|
||||
SET(IMPORT_NATIVE_TOOLS "IMPORT_NATIVE_TOOLS-NOTFOUND" CACHE FILEPATH "Export file from a native build")
|
||||
INCLUDE(${IMPORT_NATIVE_TOOLS})
|
||||
SET(native_c4group native-c4group)
|
||||
ELSE()
|
||||
SET(native_c4group c4group)
|
||||
ENDIF()
|
||||
|
||||
|
||||
############################################################################
|
||||
# installation
|
||||
############################################################################
|
||||
|
@ -1483,26 +1493,26 @@ foreach(group ${OC_C4GROUPS})
|
|||
if (CMAKE_GENERATOR STREQUAL Xcode)
|
||||
add_custom_command(TARGET openclonk
|
||||
POST_BUILD COMMAND "/bin/sh" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
||||
"$<TARGET_FILE:c4group>"
|
||||
"$<TARGET_FILE:${native_c4group}>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
||||
# leave out third parameter here so the script can figure out Xcode-ish paths as usual
|
||||
DEPENDS c4group
|
||||
DEPENDS "${native_c4group}"
|
||||
)
|
||||
else()
|
||||
add_custom_command(TARGET openclonk
|
||||
POST_BUILD COMMAND "/bin/sh" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
||||
"$<TARGET_FILE:c4group>"
|
||||
"$<TARGET_FILE:${native_c4group}>"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources"
|
||||
DEPENDS c4group
|
||||
DEPENDS "${native_c4group}"
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${group}
|
||||
COMMAND c4group ARGS "${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}" -t "${CMAKE_CURRENT_BINARY_DIR}/${group}"
|
||||
COMMAND "${native_c4group}" ARGS "${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}" -t "${CMAKE_CURRENT_BINARY_DIR}/${group}"
|
||||
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}
|
||||
DEPENDS c4group
|
||||
DEPENDS "${native_c4group}"
|
||||
VERBATIM
|
||||
)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
|
||||
|
@ -1530,6 +1540,11 @@ else()
|
|||
)
|
||||
endif()
|
||||
|
||||
# Export native tools for later use in cross-compile builds
|
||||
IF(NOT CMAKE_CROSSCOMPILING)
|
||||
EXPORT(TARGETS c4group FILE ${CMAKE_BINARY_DIR}/NativeToolsExport.cmake NAMESPACE native- )
|
||||
ENDIF()
|
||||
|
||||
############################################################################
|
||||
# setup_openclonk.exe
|
||||
############################################################################
|
||||
|
|
Loading…
Reference in New Issue