Skip to content

Commit cf8b8d5

Browse files
authored
Switch to add_compile_options instead of appending options to CMAKE_<LANG>_FLAGS (#530)
1 parent 16d6e7a commit cf8b8d5

File tree

1 file changed

+18
-33
lines changed

1 file changed

+18
-33
lines changed

cmake/configure.cmake

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -39,52 +39,37 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON)
3939
set(CMAKE_SKIP_BUILD_RPATH OFF)
4040

4141
if(UNIX)
42-
set(COMMON_COMPILER_FLAGS
43-
"${COMMON_COMPILER_FLAGS} \
44-
-Wall -Wextra \
45-
-Wsign-compare")
42+
add_compile_options(-Wall -Wextra -Wsign-compare)
43+
4644
if(NOT APPLE)
47-
set(COMMON_COMPILER_FLAGS
48-
"${COMMON_COMPILER_FLAGS} \
49-
-Wpedantic \
50-
-Wpointer-arith \
51-
-Wcast-align \
52-
-Wwrite-strings \
53-
-Wswitch-enum \
54-
-Wnull-dereference \
55-
-Wswitch-enum \
56-
-Wformat=2 \
57-
-Wmissing-declarations \
58-
-Wno-c11-extensions")
45+
add_compile_options(
46+
-Wpedantic
47+
-Wpointer-arith
48+
-Wcast-align
49+
-Wwrite-strings
50+
-Wswitch-enum
51+
-Wnull-dereference
52+
-Wformat=2
53+
-Wmissing-declarations
54+
-Wno-c11-extensions)
5955
endif(NOT APPLE)
60-
set(CMAKE_C_FLAGS
61-
"${CMAKE_C_FLAGS} \
62-
-Wold-style-definition \
63-
-Wmissing-prototypes")
56+
add_compile_options($<$<COMPILE_LANGUAGE:C>:-Wold-style-definition>)
57+
add_compile_options($<$<COMPILE_LANGUAGE:C>:-Wmissing-prototypes>)
6458

6559
if("${ENABLE_ADDRESS_SANITIZER}"
6660
OR "${ENABLE_UB_SANITIZER}"
6761
OR "${ENABLE_LEAK_SANITIZER}")
68-
set(COMMON_COMPILER_FLAGS
69-
"${COMMON_COMPILER_FLAGS} -Wno-cast-align -Wno-cast-function-type")
62+
add_compile_options(-Wno-cast-align -Wno-cast-function-type)
7063
endif()
7164

72-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILER_FLAGS}")
73-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_COMPILER_FLAGS}")
7465
if(USE_COVERAGE)
75-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage")
76-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
66+
add_compile_options(--coverage)
67+
add_link_options(--coverage)
7768
endif(USE_COVERAGE)
7869
endif()
7970

8071
if(MSVC)
81-
set(COMMON_FLAGS "/W4 /wd4267 /wd4244")
82-
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${COMMON_FLAGS}")
83-
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMMON_FLAGS}")
84-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_FLAGS}")
85-
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${COMMON_FLAGS}")
86-
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMMON_FLAGS}")
87-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_FLAGS}")
72+
add_compile_options(/W4 /wd4267 /wd4244)
8873
endif(MSVC)
8974

9075
find_package(Threads REQUIRED)

0 commit comments

Comments
 (0)