Skip to content

Commit 1482f72

Browse files
committed
build: simplify option handling slightly
Reduce the verbosity in the generator expression to apply the compile flags to C or C++ code only.
1 parent 31d3ff1 commit 1482f72

File tree

1 file changed

+69
-69
lines changed

1 file changed

+69
-69
lines changed

cmake/modules/DispatchCompilerWarnings.cmake

Lines changed: 69 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -4,81 +4,81 @@ if("${CMAKE_C_SIMULATE_ID}" STREQUAL "MSVC")
44
elseif(WIN32)
55
# Tareting Windows but using a non-MSVC compiler. Set -fms-extensions
66
# so that we can use __popcnt64
7-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fms-extensions>)
7+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-fms-extensions>)
88
else()
9-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Werror>)
10-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wall>)
11-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wextra>)
9+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Werror>)
10+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wall>)
11+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wextra>)
1212

13-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Warray-bounds-pointer-arithmetic>)
14-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wassign-enum>)
15-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Watomic-properties>)
16-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wcomma>)
17-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wconditional-uninitialized>)
18-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wconversion>)
19-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wcovered-switch-default>)
20-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wdate-time>)
21-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wdeprecated>)
22-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wdocumentation>)
23-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wdouble-promotion>)
24-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wduplicate-enum>)
25-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wexpansion-to-defined>)
26-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wfloat-equal>)
27-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Widiomatic-parentheses>)
28-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Winfinite-recursion>)
29-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wmissing-prototypes>)
30-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wnewline-eof>)
31-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wnullable-to-nonnull-conversion>)
32-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wobjc-interface-ivars>)
33-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wover-aligned>)
34-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wpacked>)
35-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wpointer-arith>)
36-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wselector>)
37-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wshadow>)
38-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wshorten-64-to-32>)
39-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wsign-conversion>)
40-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wstatic-in-inline>)
41-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wsuper-class-method-mismatch>)
42-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wswitch>)
43-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wunguarded-availability>)
44-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wunreachable-code>)
45-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wunused>)
13+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Warray-bounds-pointer-arithmetic>)
14+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wassign-enum>)
15+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Watomic-properties>)
16+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wcomma>)
17+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wconditional-uninitialized>)
18+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wconversion>)
19+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wcovered-switch-default>)
20+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wdate-time>)
21+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wdeprecated>)
22+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wdocumentation>)
23+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wdouble-promotion>)
24+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wduplicate-enum>)
25+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wexpansion-to-defined>)
26+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wfloat-equal>)
27+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Widiomatic-parentheses>)
28+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Winfinite-recursion>)
29+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wmissing-prototypes>)
30+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wnewline-eof>)
31+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wnullable-to-nonnull-conversion>)
32+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wobjc-interface-ivars>)
33+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wover-aligned>)
34+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wpacked>)
35+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wpointer-arith>)
36+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wselector>)
37+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wshadow>)
38+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wshorten-64-to-32>)
39+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wsign-conversion>)
40+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wstatic-in-inline>)
41+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wsuper-class-method-mismatch>)
42+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wswitch>)
43+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wunguarded-availability>)
44+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wunreachable-code>)
45+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wunused>)
4646

47-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-unknown-warning-option>)
48-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-trigraphs>)
49-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-four-char-constants>)
50-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-disabled-macro-expansion>)
51-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-pedantic>)
52-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-bad-function-cast>)
53-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-c++-compat>)
54-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-c++98-compat>)
55-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-c++98-compat-pedantic>)
56-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-cast-align>)
57-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-cast-qual>)
58-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-documentation-unknown-command>)
59-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-format-nonliteral>)
60-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-missing-variable-declarations>)
61-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-old-style-cast>)
62-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-padded>)
63-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-reserved-id-macro>)
64-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-shift-sign-overflow>)
65-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-undef>)
66-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-unreachable-code-aggressive>)
67-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-unused-macros>)
68-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-used-but-marked-unused>)
69-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-void-pointer-to-int-cast>)
70-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-vla>)
47+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unknown-warning-option>)
48+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-trigraphs>)
49+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-four-char-constants>)
50+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-disabled-macro-expansion>)
51+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-pedantic>)
52+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-bad-function-cast>)
53+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-c++-compat>)
54+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-c++98-compat>)
55+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-c++98-compat-pedantic>)
56+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-cast-align>)
57+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-cast-qual>)
58+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-documentation-unknown-command>)
59+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-format-nonliteral>)
60+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-missing-variable-declarations>)
61+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-old-style-cast>)
62+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-padded>)
63+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-reserved-id-macro>)
64+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-shift-sign-overflow>)
65+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-undef>)
66+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unreachable-code-aggressive>)
67+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unused-macros>)
68+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-used-but-marked-unused>)
69+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-void-pointer-to-int-cast>)
70+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-vla>)
7171

7272
if(CMAKE_SYSTEM_NAME STREQUAL Android)
73-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-incompatible-function-pointer-types>)
74-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-implicit-function-declaration>)
75-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-conversion>)
76-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-int-conversion>)
77-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-shorten-64-to-32>)
73+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-incompatible-function-pointer-types>)
74+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-implicit-function-declaration>)
75+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-conversion>)
76+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-int-conversion>)
77+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-shorten-64-to-32>)
7878
endif()
79-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-error=assign-enum>)
79+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-error=assign-enum>)
8080

8181
# Should re-enable after rdar://133498289 is fixed (ie. fixing the one mismatched cast in apply.c)
82-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-cast-function-type-mismatch>)
83-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-error=unknown-warning-option>)
82+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-cast-function-type-mismatch>)
83+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-error=unknown-warning-option>)
8484
endif()

0 commit comments

Comments
 (0)