From 8b76f272a9033c279250ac201599b46cc73f4eb8 Mon Sep 17 00:00:00 2001 From: dP Date: Sun, 4 Apr 2021 16:45:13 +0300 Subject: [PATCH] Copy cmclient grf to build directory and packaging --- bin/CMakeLists.txt | 1 + bin/ai/CMakeLists.txt | 1 - bin/data/CMakeLists.txt | 27 +++++++++++++++++++++++++++ bin/game/CMakeLists.txt | 1 - cmake/InstallAndPackage.cmake | 1 + 5 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 bin/data/CMakeLists.txt diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt index 9d75bc0eea..612e275dd9 100644 --- a/bin/CMakeLists.txt +++ b/bin/CMakeLists.txt @@ -1,2 +1,3 @@ add_subdirectory(ai) add_subdirectory(game) +add_subdirectory(data) diff --git a/bin/ai/CMakeLists.txt b/bin/ai/CMakeLists.txt index 83eb11962d..60398f081d 100644 --- a/bin/ai/CMakeLists.txt +++ b/bin/ai/CMakeLists.txt @@ -12,7 +12,6 @@ set(AI_COMPAT_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/compat_1.9.nut ${CMAKE_CURRENT_SOURCE_DIR}/compat_1.10.nut ${CMAKE_CURRENT_SOURCE_DIR}/compat_1.11.nut - ${CMAKE_CURRENT_SOURCE_DIR}/compat_1.12.nut ) foreach(AI_COMPAT_SOURCE_FILE IN LISTS AI_COMPAT_SOURCE_FILES) diff --git a/bin/data/CMakeLists.txt b/bin/data/CMakeLists.txt new file mode 100644 index 0000000000..f59aa4d147 --- /dev/null +++ b/bin/data/CMakeLists.txt @@ -0,0 +1,27 @@ +set(DATA_SOURCE_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/cmclient-3.grf +) + +foreach(DATA_SOURCE_FILE IN LISTS DATA_SOURCE_FILES) + string(REPLACE "${CMAKE_SOURCE_DIR}/bin/" "" DATA_SOURCE_FILE_NAME "${DATA_SOURCE_FILE}") + string(CONCAT DATA_BINARY_FILE "${CMAKE_BINARY_DIR}/" "${DATA_SOURCE_FILE_NAME}") + + add_custom_command(OUTPUT ${DATA_BINARY_FILE} + COMMAND ${CMAKE_COMMAND} -E copy + ${DATA_SOURCE_FILE} + ${DATA_BINARY_FILE} + MAIN_DEPENDENCY ${DATA_SOURCE_FILE} + COMMENT "Copying ${DATA_SOURCE_FILE_NAME}" + ) + + list(APPEND DATA_BINARY_FILES ${DATA_BINARY_FILE}) +endforeach() + +# Create a new target which copies all compat files +add_custom_target(data_files + DEPENDS ${DATA_BINARY_FILES} +) + +add_dependencies(openttd + data_files +) diff --git a/bin/game/CMakeLists.txt b/bin/game/CMakeLists.txt index 508254e1f2..db1acf317e 100644 --- a/bin/game/CMakeLists.txt +++ b/bin/game/CMakeLists.txt @@ -9,7 +9,6 @@ set(GS_COMPAT_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/compat_1.9.nut ${CMAKE_CURRENT_SOURCE_DIR}/compat_1.10.nut ${CMAKE_CURRENT_SOURCE_DIR}/compat_1.11.nut - ${CMAKE_CURRENT_SOURCE_DIR}/compat_1.12.nut ) foreach(GS_COMPAT_SOURCE_FILE IN LISTS GS_COMPAT_SOURCE_FILES) diff --git a/cmake/InstallAndPackage.cmake b/cmake/InstallAndPackage.cmake index fa36518d5b..5f02991c69 100644 --- a/cmake/InstallAndPackage.cmake +++ b/cmake/InstallAndPackage.cmake @@ -28,6 +28,7 @@ install(DIRECTORY ${CMAKE_BINARY_DIR}/baseset ${CMAKE_BINARY_DIR}/ai ${CMAKE_BINARY_DIR}/game + ${CMAKE_BINARY_DIR}/data ${CMAKE_SOURCE_DIR}/bin/scripts DESTINATION ${DATA_DESTINATION_DIR} COMPONENT language_files)