Skip to content

Commit 709fe83

Browse files
committed
merge main
2 parents d5cd841 + beb137b commit 709fe83

39 files changed

+574
-417
lines changed

CMakeLists.txt

Lines changed: 23 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,18 @@
1-
2-
cmake_minimum_required(VERSION 3.15.1)
1+
cmake_minimum_required(VERSION 3.26...3.29)
32

43
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
54

6-
# NOTE(compnerd) enable CMP0091 - select MSVC runtime based on
7-
# CMAKE_MSVC_RUNTIME_LIBRARY. Requires CMake 3.15 or newer.
8-
if(POLICY CMP0091)
9-
cmake_policy(SET CMP0091 NEW)
5+
if(POLICY CMP0157 AND CMAKE_Swift_COMPILER_USE_OLD_DRIVER)
6+
cmake_policy(SET CMP0157 OLD)
107
endif()
118

129
project(dispatch
1310
VERSION 1.3
1411
LANGUAGES C CXX)
1512

16-
if("${CMAKE_C_SIMULATE_ID}" STREQUAL "MSVC")
17-
include(ClangClCompileRules)
18-
endif()
19-
20-
if(CMAKE_SYSTEM_NAME STREQUAL Windows)
21-
if(NOT MINGW)
22-
include(DispatchWindowsSupport)
23-
dispatch_windows_arch_spelling(${CMAKE_SYSTEM_PROCESSOR} DISPATCH_MSVC_ARCH)
24-
dispatch_windows_include_for_arch(${DISPATCH_MSVC_ARCH} DISPATCH_INCLUDES)
25-
include_directories(BEFORE SYSTEM ${DISPATCH_INCLUDES})
26-
dispatch_windows_lib_for_arch(${CMAKE_SYSTEM_PROCESSOR} DISPATCH_LIBDIR)
27-
link_directories(${DISPATCH_LIBDIR})
28-
endif()
13+
set(CMAKE_POSITION_INDEPENDENT_CODE YES)
2914

15+
if(WIN32)
3016
include(CheckCSourceCompiles)
3117
include(CheckSymbolExists)
3218

@@ -131,7 +117,6 @@ include(DispatchAppleOptions)
131117
include(DispatchSanitization)
132118
include(DispatchCompilerWarnings)
133119
include(DTrace)
134-
include(SwiftSupport)
135120

136121
# NOTE(abdulras) this is the CMake supported way to control whether we generate
137122
# shared or static libraries. This impacts the behaviour of `add_library` in
@@ -145,7 +130,7 @@ set(USE_LIBDISPATCH_INIT_CONSTRUCTOR ${ENABLE_DISPATCH_INIT_CONSTRUCTOR})
145130

146131
option(ENABLE_DTRACE "enable dtrace support" "")
147132

148-
if(CMAKE_SYSTEM_NAME STREQUAL Darwin OR CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
133+
if(APPLE OR BSD)
149134
set(ENABLE_INTERNAL_PTHREAD_WORKQUEUES_DEFAULT OFF)
150135
else()
151136
set(ENABLE_INTERNAL_PTHREAD_WORKQUEUES_DEFAULT ON)
@@ -189,7 +174,7 @@ if(__BUILTIN_TRAP)
189174
set(HAVE_NORETURN_BUILTIN_TRAP 1)
190175
endif()
191176

192-
if(NOT CMAKE_SYSTEM_NAME STREQUAL Android)
177+
if(NOT ANDROID)
193178
find_package(LibRT)
194179
endif()
195180

@@ -244,12 +229,12 @@ if(HAVE_MACH)
244229
else()
245230
set(USE_MACH_SEM 0)
246231
endif()
247-
if(CMAKE_SYSTEM_NAME STREQUAL Windows)
248-
add_compile_definitions($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:USE_WIN32_SEM>)
232+
if(WIN32)
233+
add_compile_definitions($<$<COMPILE_LANGUAGE:C,CXX>:USE_WIN32_SEM>)
249234
endif()
250235
check_library_exists(pthread sem_init "" USE_POSIX_SEM)
251236
# NOTE: android has not always provided a libpthread, but uses the pthreads API
252-
if(CMAKE_SYSTEM_NAME STREQUAL Android)
237+
if(ANDROID)
253238
set(USE_POSIX_SEM 1)
254239
endif()
255240

@@ -275,16 +260,16 @@ check_symbol_exists(VQ_FREE_SPACE_CHANGE "sys/mount.h" HAVE_DECL_VQ_FREE_SPACE_C
275260
check_symbol_exists(strlcpy "string.h" HAVE_STRLCPY)
276261
check_symbol_exists(program_invocation_name "errno.h" HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME)
277262
if (HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME)
278-
add_compile_definitions($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:_GNU_SOURCE=1>)
263+
add_compile_definitions($<$<COMPILE_LANGUAGE:C,CXX>:_GNU_SOURCE=1>)
279264
endif()
280265
check_symbol_exists(__printflike "bsd/sys/cdefs.h" HAVE_PRINTFLIKE)
281266

282-
if(CMAKE_SYSTEM_NAME STREQUAL Android)
267+
if(ANDROID)
283268
set(ENABLE_DTRACE_DEFAULT OFF)
284269
endif()
285270

286-
if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
287-
add_compile_definitions($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:_WITH_DPRINTF>)
271+
if(BSD)
272+
add_compile_definitions($<$<COMPILE_LANGUAGE:C,CXX>:_WITH_DPRINTF>)
288273
endif()
289274

290275
if(ENABLE_DTRACE)
@@ -295,9 +280,9 @@ if(ENABLE_DTRACE)
295280
endif()
296281

297282
if(dtrace_EXECUTABLE)
298-
add_compile_definitions($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:DISPATCH_USE_DTRACE=1>)
283+
add_compile_definitions($<$<COMPILE_LANGUAGE:C,CXX>:DISPATCH_USE_DTRACE=1>)
299284
else()
300-
add_compile_definitions($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:DISPATCH_USE_DTRACE=0>)
285+
add_compile_definitions($<$<COMPILE_LANGUAGE:C,CXX>:DISPATCH_USE_DTRACE=0>)
301286
endif()
302287

303288
find_program(leaks_EXECUTABLE leaks)
@@ -306,22 +291,22 @@ if(leaks_EXECUTABLE)
306291
endif()
307292

308293

309-
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
310-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fmodule-map-file=${PROJECT_SOURCE_DIR}/dispatch/darwin/module.modulemap>
311-
$<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fmodule-map-file=${PROJECT_SOURCE_DIR}/private/darwin/module.modulemap>)
294+
if(APPLE)
295+
add_compile_options($<:$<COMPILE_LANGUAGE:C,CXX>:-fmodule-map-file=${PROJECT_SOURCE_DIR}/dispatch/darwin/module.modulemap>
296+
$<:$<COMPILE_LANGUAGE:C,CXX>:-fmodule-map-file=${PROJECT_SOURCE_DIR}/private/darwin/module.modulemap>)
312297
else()
313-
add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fmodule-map-file=${PROJECT_SOURCE_DIR}/dispatch/generic/module.modulemap>
314-
$<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fmodule-map-file=${PROJECT_SOURCE_DIR}/private/generic/module.modulemap>)
298+
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-fmodule-map-file=${PROJECT_SOURCE_DIR}/dispatch/generic/module.modulemap>
299+
$<$<COMPILE_LANGUAGE:C,CXX>:-fmodule-map-file=${PROJECT_SOURCE_DIR}/private/generic/module.modulemap>)
315300
endif()
316301

317302
configure_file("${PROJECT_SOURCE_DIR}/cmake/config.h.in"
318303
"${PROJECT_BINARY_DIR}/config/config_ac.h")
319-
add_compile_definitions($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:HAVE_CONFIG_H>)
304+
add_compile_definitions($<$<COMPILE_LANGUAGE:C,CXX>:HAVE_CONFIG_H>)
320305

321306

322307
if(ENABLE_SWIFT)
323308
if(NOT SWIFT_SYSTEM_NAME)
324-
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
309+
if(APPLE)
325310
set(SWIFT_SYSTEM_NAME macosx)
326311
else()
327312
set(SWIFT_SYSTEM_NAME "$<LOWER_CASE:${CMAKE_SYSTEM_NAME}>")

CONTRIBUTING.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

cmake/config.h.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,3 +257,6 @@
257257

258258
/* Define if using Darwin $NOCANCEL */
259259
#cmakedefine __DARWIN_NON_CANCELABLE
260+
261+
/* Define to 1 if you have the `strlcpy` function. */
262+
#cmakedefine01 HAVE_STRLCPY

cmake/modules/ClangClCompileRules.cmake

Lines changed: 0 additions & 5 deletions
This file was deleted.

cmake/modules/DispatchCompilerWarnings.cmake

Lines changed: 70 additions & 70 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

72-
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>)
72+
if(ANDROID)
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()

cmake/modules/DispatchSanitization.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set(DISPATCH_USE_SANITIZER "" CACHE STRING
33
"Define the sanitizer used to build binaries and tests.")
44

5-
if(CMAKE_SYSTEM_NAME STREQUAL Darwin AND DISPATCH_USE_SANITIZER)
5+
if(APPLE AND DISPATCH_USE_SANITIZER)
66
message(FATAL_ERROR "building libdispatch with sanitization is not supported on Darwin")
77
endif()
88

0 commit comments

Comments
 (0)