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)
|
add_precompiled_header(openclonk src/C4Include.h)
|
||||||
endif()
|
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
|
# installation
|
||||||
############################################################################
|
############################################################################
|
||||||
|
@ -1483,26 +1493,26 @@ foreach(group ${OC_C4GROUPS})
|
||||||
if (CMAKE_GENERATOR STREQUAL Xcode)
|
if (CMAKE_GENERATOR STREQUAL Xcode)
|
||||||
add_custom_command(TARGET openclonk
|
add_custom_command(TARGET openclonk
|
||||||
POST_BUILD COMMAND "/bin/sh" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
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_SOURCE_DIR}/planet/${group}"
|
||||||
# leave out third parameter here so the script can figure out Xcode-ish paths as usual
|
# leave out third parameter here so the script can figure out Xcode-ish paths as usual
|
||||||
DEPENDS c4group
|
DEPENDS "${native_c4group}"
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
add_custom_command(TARGET openclonk
|
add_custom_command(TARGET openclonk
|
||||||
POST_BUILD COMMAND "/bin/sh" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
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_SOURCE_DIR}/planet/${group}"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources"
|
"${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources"
|
||||||
DEPENDS c4group
|
DEPENDS "${native_c4group}"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${group}
|
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}
|
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}
|
||||||
DEPENDS c4group
|
DEPENDS "${native_c4group}"
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
|
||||||
|
@ -1530,6 +1540,11 @@ else()
|
||||||
)
|
)
|
||||||
endif()
|
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
|
# setup_openclonk.exe
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
Loading…
Reference in New Issue