From 463844b7742c98e336bdbeaf30026b27e62cbde7 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Wed, 27 Aug 2025 19:32:52 +0200 Subject: [PATCH] Fix CMake for our purpose Do not override CFLAGS Drop COPYING file Use CTest module for standard BUILD_TESTING switch and make Qt5Test optional Signed-off-by: Andreas Sturmlechner --- CMakeLists.txt | 14 ++++++++------ InstallLinux.cmake | 2 +- src/game/CMakeLists.txt | 4 +++- src/game/MiniCore/CMakeLists.txt | 3 --- src/game/MiniCore/src/CMakeLists.txt | 4 +++- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ef09505..d2457ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,6 +101,9 @@ endif() add_definitions(-DGLEW_STATIC) add_definitions(-DGLEW_NO_GLU) +# Enable CMake's unit test framework +include(CTest) + if(UNIX) include("InstallLinux.cmake") elseif(WIN32) @@ -108,8 +111,7 @@ elseif(WIN32) endif() if(CMAKE_COMPILER_IS_GNUCXX OR MINGW OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") - add_compile_options("$<$:-W;-Wall;-O3;-pedantic;-fomit-frame-pointer>") - add_compile_options("$<$:-W;-Wall;-O0;-pedantic>") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -W -Wall -fomit-frame-pointer -finline-functions") # Automatically use ccache if found find_program(CCACHE_FOUND ccache) @@ -136,7 +138,10 @@ find_package(Qt5Xml ${QT_MIN_VER} REQUIRED) find_package(Qt5Widgets ${QT_MIN_VER} REQUIRED) find_package(Qt5LinguistTools ${QT_MIN_VER} REQUIRED) find_package(Qt5Sql ${QT_MIN_VER} REQUIRED) -find_package(Qt5Test ${QT_MIN_VER} REQUIRED) + +if(BUILD_TESTING) + find_package(Qt5Test ${QT_MIN_VER} REQUIRED) +endif() # Find OpenGL find_package(OpenGL REQUIRED) @@ -173,9 +178,6 @@ include_directories(src/contrib/SimpleLogger/src) add_subdirectory(src/contrib/Argengine EXCLUDE_FROM_ALL) include_directories(src/contrib/Argengine/src) -# Enable CMake's unit test framework -enable_testing() - # Install paths depend on the build type and target platform resolve_install_paths() diff --git a/InstallLinux.cmake b/InstallLinux.cmake index 3c4806f..346305f 100644 --- a/InstallLinux.cmake +++ b/InstallLinux.cmake @@ -78,7 +78,7 @@ function(setup_install_targets BIN_PATH DATA_PATH DOC_PATH) install(FILES data/editorModels.conf DESTINATION ${DATA_PATH}) install(FILES data/meshes.conf DESTINATION ${DATA_PATH}) install(FILES data/surfaces.conf DESTINATION ${DATA_PATH}) - install(FILES AUTHORS CHANGELOG COPYING README.md DESTINATION ${DOC_PATH}) + install(FILES AUTHORS CHANGELOG README.md DESTINATION ${DOC_PATH}) install(DIRECTORY data/images DESTINATION ${DATA_PATH} FILES_MATCHING PATTERN "*.jpg") install(DIRECTORY data/images DESTINATION ${DATA_PATH} FILES_MATCHING PATTERN "*.png") install(DIRECTORY data/levels DESTINATION ${DATA_PATH} FILES_MATCHING PATTERN "*.trk") diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt index 8368e2c..b8a5a61 100644 --- a/src/game/CMakeLists.txt +++ b/src/game/CMakeLists.txt @@ -169,4 +169,6 @@ set(COMMON_LIBS target_link_libraries(${GAME_BINARY_NAME} ${COMMON_LIBS} Qt5::OpenGL Qt5::Sql Qt5::Xml ${DUSTRAC_OPENGL_LIBS} SimpleLogger_static Argengine_static) set_property(TARGET ${GAME_BINARY_NAME} PROPERTY CXX_STANDARD 14) -add_subdirectory(unittests) +if(BUILD_TESTING) + add_subdirectory(unittests) +endif() diff --git a/src/game/MiniCore/CMakeLists.txt b/src/game/MiniCore/CMakeLists.txt index 2707310..ff983d3 100644 --- a/src/game/MiniCore/CMakeLists.txt +++ b/src/game/MiniCore/CMakeLists.txt @@ -63,8 +63,5 @@ else() set(MINICORE_OPENGL_LIBS OpenGL::GL) endif() -# Enable CMake's unit test framework -enable_testing() - add_subdirectory(src) diff --git a/src/game/MiniCore/src/CMakeLists.txt b/src/game/MiniCore/src/CMakeLists.txt index 5c4d05f..68e5653 100644 --- a/src/game/MiniCore/src/CMakeLists.txt +++ b/src/game/MiniCore/src/CMakeLists.txt @@ -92,5 +92,7 @@ add_library(${MiniCoreTargetName} ${MiniCoreSRC}) target_link_libraries(${MiniCoreTargetName} Qt5::Core Qt5::OpenGL Qt5::Xml ${MINICORE_OPENGL_LIBS}) set_property(TARGET ${MiniCoreTargetName} PROPERTY CXX_STANDARD 14) -add_subdirectory(UnitTests) +if(BUILD_TESTING) + add_subdirectory(UnitTests) +endif() -- 2.51.0