From 7cc07a326118af0c5abcc91c83069ada42fe8a53 Mon Sep 17 00:00:00 2001 From: Louis Moureaux Date: Fri, 29 Dec 2023 20:25:47 +0100 Subject: [PATCH 1/2] Fix build with multi-config generators Reported by @jwrober. --- data/tests/CMakeLists.txt | 6 +++--- server/tests/CMakeLists.txt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/data/tests/CMakeLists.txt b/data/tests/CMakeLists.txt index a2c11a0ca3..50aa18f26d 100644 --- a/data/tests/CMakeLists.txt +++ b/data/tests/CMakeLists.txt @@ -11,11 +11,11 @@ endif() # Create the test file. This is ugly because we need to replace variables # and use generator expressions. configure_file(rulesets.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/rulesets.cpp.in) -file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/rulesets.cpp +file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/$/rulesets.cpp INPUT ${CMAKE_CURRENT_BINARY_DIR}/rulesets.cpp.in) -add_executable(test_rulesets ${CMAKE_CURRENT_BINARY_DIR}/rulesets.cpp) +add_executable(test_rulesets ${CMAKE_CURRENT_BINARY_DIR}/$/rulesets.cpp) target_link_libraries(test_rulesets PRIVATE Qt5::Test) add_test(NAME test_rulesets - COMMAND test_rulesets + COMMAND "${CMAKE_BINARY_DIR}/$/test_rulesets" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") diff --git a/server/tests/CMakeLists.txt b/server/tests/CMakeLists.txt index 1651e29708..12b2d44914 100644 --- a/server/tests/CMakeLists.txt +++ b/server/tests/CMakeLists.txt @@ -3,11 +3,11 @@ set(CMAKE_AUTOMOC ON) # Create the test file. This is ugly because we need to replace variables # and use generator expressions. configure_file(cli.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/cli.cpp.in) -file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cli.cpp +file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/$/cli.cpp INPUT ${CMAKE_CURRENT_BINARY_DIR}/cli.cpp.in) -add_executable(test_server_cli ${CMAKE_CURRENT_BINARY_DIR}/cli.cpp) +add_executable(test_server_cli ${CMAKE_CURRENT_BINARY_DIR}/$/cli.cpp) target_link_libraries(test_server_cli PRIVATE Qt5::Test) add_test(NAME test_server_cli - COMMAND test_server_cli + COMMAND "${CMAKE_BINARY_DIR}/$/test_server_cli" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") From ef2198dba8a64aa97b78cb19e9d6fe9ce67b7dc6 Mon Sep 17 00:00:00 2001 From: Louis Moureaux Date: Fri, 29 Dec 2023 20:26:49 +0100 Subject: [PATCH 2/2] Test multi-config CMake Use the "Additional compile flags" CI test to check that multi-config CMake generators work. --- .github/workflows/build.yaml | 2 +- data/tests/CMakeLists.txt | 2 +- server/tests/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 307c1b61aa..b53c391c33 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -113,7 +113,7 @@ jobs: libsdl2-mixer-dev - name: Configure run: | - cmake . -B build -G Ninja --preset "DistroRelease" + cmake . -B build -G "Ninja Multi-Config" --preset "DistroRelease" - name: Build run: | cmake --build build diff --git a/data/tests/CMakeLists.txt b/data/tests/CMakeLists.txt index 50aa18f26d..d184c35eb0 100644 --- a/data/tests/CMakeLists.txt +++ b/data/tests/CMakeLists.txt @@ -17,5 +17,5 @@ file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/$/rulesets.cpp add_executable(test_rulesets ${CMAKE_CURRENT_BINARY_DIR}/$/rulesets.cpp) target_link_libraries(test_rulesets PRIVATE Qt5::Test) add_test(NAME test_rulesets - COMMAND "${CMAKE_BINARY_DIR}/$/test_rulesets" + COMMAND test_rulesets WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") diff --git a/server/tests/CMakeLists.txt b/server/tests/CMakeLists.txt index 12b2d44914..eed9ea2c4e 100644 --- a/server/tests/CMakeLists.txt +++ b/server/tests/CMakeLists.txt @@ -9,5 +9,5 @@ file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/$/cli.cpp add_executable(test_server_cli ${CMAKE_CURRENT_BINARY_DIR}/$/cli.cpp) target_link_libraries(test_server_cli PRIVATE Qt5::Test) add_test(NAME test_server_cli - COMMAND "${CMAKE_BINARY_DIR}/$/test_server_cli" + COMMAND test_server_cli WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")