Skip to content

Commit 9185606

Browse files
committed
[cmake] Add macro to create defaulted settings
Adding a macro to tie non-boolean variables into the defaulting mechanism.
1 parent 08b3c95 commit 9185606

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

Runtimes/Core/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@ defaulted_option(SwiftCore_ENABLE_COMMANDLINE_SUPPORT "Enable command line argum
6666
defaulted_option(SwiftCore_ENABLE_RUNTIME_FUNCTION_COUNTERS "Enable runtime function counter support")
6767

6868
defaulted_option(SwiftCore_ENABLE_BACKTRACING "Enable backtracing runtime support")
69-
set(SwiftCore_BACKTRACER_PATH ${SwiftCore_BACKTRACER_PATH_default} CACHE STRING "Set a fixed path to the Swift backtracer")
69+
defaulted_set(SwiftCore_BACKTRACER_PATH STRING "Set a fixed path to the Swift backtracer")
7070

7171
option(SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS "" OFF)
7272
option(SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER "" OFF)
7373

74-
set(SwiftCore_OBJECT_FORMAT "${SwiftCore_OBJECT_FORMAT_default}" CACHE STRING "Object format")
74+
defaulted_set(SwiftCore_OBJECT_FORMAT STRING "Object format: ELF COFF")
7575

7676
add_compile_definitions(
7777
$<$<BOOL:${SwiftCore_ENABLE_OBJC_INTEROP}>:-DSWIFT_OBJC_INTEROP>
@@ -82,7 +82,7 @@ add_compile_definitions(
8282
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_RUNTIME_ENABLE_LEAK_CHECKER=$<BOOL:${SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER}>>
8383
$<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_RUNTIME_CLOBBER_FREED_OBJECTS=$<BOOL:${SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS}>>)
8484

85-
add_compile_options( $<$<AND:$<COMPILE_LANGUAGE:Swift>,$<BOOL:${SwiftCore_ENABLE_LIBRARY_EVOLUTION}>>:-enable-library-evolution>)
85+
add_compile_options($<$<AND:$<COMPILE_LANGUAGE:Swift>,$<BOOL:${SwiftCore_ENABLE_LIBRARY_EVOLUTION}>>:-enable-library-evolution>)
8686

8787
include_directories(include)
8888

Runtimes/Core/cmake/modules/DefaultSettings.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ macro(defaulted_option variable helptext)
1717
option(${variable} ${helptext} ${${variable}_default})
1818
endmacro()
1919

20+
macro(defaulted_set variable type helptext)
21+
if(DEFINED ${variable}_default)
22+
set(${variable} ${variable}_default CACHE ${type} ${helptext})
23+
endif()
24+
endmacro()
25+
2026
if(APPLE)
2127
set(SwiftCore_ENABLE_LIBRARY_EVOLUTION_default ON)
2228
set(SwiftCore_ENABLE_CRASH_REPORTER_CLIENT_default ON)

0 commit comments

Comments
 (0)