From 17b7e6c7cb7c0dcd6ed40887f7ff469a02084e13 Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Sat, 19 Jul 2025 18:06:43 +0200 Subject: [PATCH] Switch to add_compile_options instead of appending options to `CMAKE__FLAGS` --- cmake/configure.cmake | 51 +++++++++++++++---------------------------- 1 file changed, 18 insertions(+), 33 deletions(-) diff --git a/cmake/configure.cmake b/cmake/configure.cmake index 6421c7b9a..3e2f66b34 100644 --- a/cmake/configure.cmake +++ b/cmake/configure.cmake @@ -39,52 +39,37 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON) set(CMAKE_SKIP_BUILD_RPATH OFF) if(UNIX) - set(COMMON_COMPILER_FLAGS - "${COMMON_COMPILER_FLAGS} \ - -Wall -Wextra \ - -Wsign-compare") + add_compile_options(-Wall -Wextra -Wsign-compare) + if(NOT APPLE) - set(COMMON_COMPILER_FLAGS - "${COMMON_COMPILER_FLAGS} \ - -Wpedantic \ - -Wpointer-arith \ - -Wcast-align \ - -Wwrite-strings \ - -Wswitch-enum \ - -Wnull-dereference \ - -Wswitch-enum \ - -Wformat=2 \ - -Wmissing-declarations \ - -Wno-c11-extensions") + add_compile_options( + -Wpedantic + -Wpointer-arith + -Wcast-align + -Wwrite-strings + -Wswitch-enum + -Wnull-dereference + -Wformat=2 + -Wmissing-declarations + -Wno-c11-extensions) endif(NOT APPLE) - set(CMAKE_C_FLAGS - "${CMAKE_C_FLAGS} \ - -Wold-style-definition \ - -Wmissing-prototypes") + add_compile_options($<$:-Wold-style-definition>) + add_compile_options($<$:-Wmissing-prototypes>) if("${ENABLE_ADDRESS_SANITIZER}" OR "${ENABLE_UB_SANITIZER}" OR "${ENABLE_LEAK_SANITIZER}") - set(COMMON_COMPILER_FLAGS - "${COMMON_COMPILER_FLAGS} -Wno-cast-align -Wno-cast-function-type") + add_compile_options(-Wno-cast-align -Wno-cast-function-type) endif() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILER_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_COMPILER_FLAGS}") if(USE_COVERAGE) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") + add_compile_options(--coverage) + add_link_options(--coverage) endif(USE_COVERAGE) endif() if(MSVC) - set(COMMON_FLAGS "/W4 /wd4267 /wd4244") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${COMMON_FLAGS}") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMMON_FLAGS}") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_FLAGS}") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${COMMON_FLAGS}") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMMON_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_FLAGS}") + add_compile_options(/W4 /wd4267 /wd4244) endif(MSVC) find_package(Threads REQUIRED)