From f860b9d46f74619ec9f87062bb983cb568558ff6 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 30 May 2026 15:02:24 +0200 Subject: [PATCH] optimize cmake files --- CMakeLists.txt | 24 +++++++++++++----------- src/CMakeLists.txt | 12 ++---------- tests/CMakeLists.txt | 13 +++---------- 3 files changed, 18 insertions(+), 31 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f912b1f..d43dc86 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,20 +1,25 @@ cmake_minimum_required(VERSION 3.25.1) -set(CMAKE_C_COMPILER gcc) -message(STATUS "CMAKE_C_COMPILER: ${CMAKE_C_COMPILER}") +set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "build type [Debug|Release]") -set(CMAKE_BUILD_TYPE Release CACHE STRING "build type [Debug|Release]") +project(sane-kds-s2000w-net) +set(PROJECT_VERSION_MAJOR 1) +set(PROJECT_VERSION_MINOR 1) +set(PROJECT_VERSION_PATCH 32) +set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) +message(STATUS "PROJECT_VERSION ${PROJECT_VERSION}") -project(kds-s2000w-net) - -if(CMAKE_BUILD_TYPE STREQUAL Release) - set(CMAKE_C_FLAGS "-std=c99 -fPIC -s -Wall -Wextra -Wno-unused-parameter -Werror -pedantic" +if(${CMAKE_BUILD_TYPE} STREQUAL Release) + set(CMAKE_C_FLAGS "-std=c99 -s -fPIC -Wall -Wextra -Wno-unused-parameter -Werror -pedantic" CACHE STRING "release compiler flags" FORCE) else() - SET(CMAKE_C_FLAGS "-std=c99 -fPIC -Wall -Wextra -Wno-unused-parameter -pedantic -g" + SET(CMAKE_C_FLAGS "-std=c99 -g -fPIC -Wall -Wextra -Wno-unused-parameter -pedantic" CACHE STRING "debug compiler flags" FORCE) endif() +option(RUN_TESTS "Enable tests" OFF) +message(STATUS "RUN_TESTS: ${RUN_TESTS}") + unset(CONFIG_TEST_FILE) if(RUN_TESTS) set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "debug" FORCE) @@ -49,9 +54,6 @@ message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") message(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}") add_subdirectory(src) - -option(RUN_TESTS "Enable tests" OFF) -message(STATUS "RUN_TESTS: ${RUN_TESTS}") if(RUN_TESTS) add_subdirectory(tests) endif() \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3794024..7e22943 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,11 +1,3 @@ -cmake_minimum_required(VERSION 3.25.1) - -project(sane-kds-s2000w-net) - -set(PROJECT_VERSION_MAJOR 1) -set(PROJECT_VERSION_MINOR 1) -set(PROJECT_VERSION_PATCH 32) -set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) find_package(Git) if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) execute_process(COMMAND ${GIT_EXECUTABLE} branch --show-current @@ -16,11 +8,11 @@ if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE PROJECT_VERSION_TWEAK OUTPUT_STRIP_TRAILING_WHITESPACE) - if(NOT ${CMAKE_BUILD_TYPE} STREQUAL Release) + if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}.${PROJECT_VERSION_TWEAK}) + message(STATUS "Debug PROJECT_VERSION: ${PROJECT_VERSION}") endif() endif() -message(STATUS "PROJECT_VERSION: ${PROJECT_VERSION}") option(IMAGEMAGICK "without ImageMagick library" OFF) message(STATUS "IMAGEMAGICK: ${IMAGEMAGICK}") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index eca6517..82226be 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,21 +1,16 @@ -cmake_minimum_required(VERSION 3.25.1) - find_package(CMOCKA REQUIRED) -find_program(CPPCHECK cppcheck REQUIRED) -find_program(LCOV lcov REQUIRED) - message(STATUS "find cmocka: ${CMOCKA_LIBRARY}") -message(STATUS "find cppcheck: ${CPPCHECK}") +find_program(LCOV lcov REQUIRED) message(STATUS "find lcov: ${LCOV}") +find_program(CPPCHECK cppcheck REQUIRED) +message(STATUS "find cppcheck: ${CPPCHECK}") execute_process(COMMAND bash -c "${CPPCHECK} --version | sed -z 's/Cppcheck \\(.*\\)\\n$/\\1/'" OUTPUT_VARIABLE CPPCHECK_VERSION) - message(STATUS "CPPCHECK_VERSION: ${CPPCHECK_VERSION}") file(COPY ${CMAKE_SOURCE_DIR}/src/kds_s2000w_net.conf DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - add_executable(tests tests.c kds_s2000w_client_mock.c @@ -34,12 +29,10 @@ add_dependencies(tests target_link_libraries(tests ${CMOCKA_LIBRARY} sane-kds_s2000w_net-static) - add_custom_target(runningtests ALL ./tests WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DEPENDS tests) - add_custom_command(TARGET runningtests POST_BUILD COMMAND gcov ${CMAKE_BINARY_DIR}/src/CMakeFiles/sane-kds_s2000w_net-static.dir/*.c.o -- 2.47.3