31
31
32
32
cmake_minimum_required (VERSION 3.26...3.29 )
33
33
34
- list (APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR} /cmake/modules" )
34
+ set (SwiftCore_CMAKE_MODULES_DIR "${CMAKE_SOURCE_DIR} /cmake/modules" )
35
+ list (APPEND CMAKE_MODULE_PATH ${SwiftCore_CMAKE_MODULES_DIR} )
35
36
include (CMakeWorkarounds )
36
37
project (SwiftCore LANGUAGES C CXX Swift VERSION 6.1 )
37
38
@@ -47,6 +48,13 @@ set(SwiftCore_SWIFTC_SOURCE_DIR
47
48
"${PROJECT_SOURCE_DIR} /../../"
48
49
CACHE FILEPATH "Path to the root source directory of the Swift compiler" )
49
50
51
+ # Hook point for vendor-specific extensions to the build system
52
+ # Allowed extension points:
53
+ # - DefaultSettings.cmake
54
+ # - Settings.cmake
55
+ set (SwiftCore_VENDOR_MODULE_DIR "${SwiftCore_CMAKE_MODULES_DIR} /vendor"
56
+ CACHE FILEPATH "Location for private build system extension" )
57
+
50
58
include (GNUInstallDirs )
51
59
include (AvailabilityMacros )
52
60
include (CompilerSettings )
@@ -55,6 +63,8 @@ include(EmitSwiftInterface)
55
63
include (PlatformInfo )
56
64
include (gyb )
57
65
66
+ include ("${SwiftCore_VENDOR_MODULE_DIR} /Settings.cmake" OPTIONAL )
67
+
58
68
defaulted_option (SwiftCore_ENABLE_LIBRARY_EVOLUTION "Generate ABI resilient runtime libraries" )
59
69
60
70
defaulted_option (SwiftCore_ENABLE_CRASH_REPORTER_CLIENT "Enable Apple CrashReporter integration" )
@@ -66,12 +76,12 @@ defaulted_option(SwiftCore_ENABLE_COMMANDLINE_SUPPORT "Enable command line argum
66
76
defaulted_option (SwiftCore_ENABLE_RUNTIME_FUNCTION_COUNTERS "Enable runtime function counter support" )
67
77
68
78
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" )
79
+ defaulted_set (SwiftCore_BACKTRACER_PATH STRING "Set a fixed path to the Swift backtracer" )
70
80
71
81
option (SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS "" OFF )
72
82
option (SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER "" OFF )
73
83
74
- set (SwiftCore_OBJECT_FORMAT " ${SwiftCore_OBJECT_FORMAT_default} " CACHE STRING "Object format" )
84
+ defaulted_set (SwiftCore_OBJECT_FORMAT STRING "Object format: ELF COFF " )
75
85
76
86
add_compile_definitions (
77
87
$< $< BOOL:${SwiftCore_ENABLE_OBJC_INTEROP} > :-DSWIFT_OBJC_INTEROP>
@@ -82,7 +92,7 @@ add_compile_definitions(
82
92
$< $< COMPILE_LANGUAGE:C,CXX> :-DSWIFT_RUNTIME_ENABLE_LEAK_CHECKER=$< BOOL:${SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER} > >
83
93
$< $< COMPILE_LANGUAGE:C,CXX> :-DSWIFT_RUNTIME_CLOBBER_FREED_OBJECTS=$< BOOL:${SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS} > > )
84
94
85
- add_compile_options ( $< $< AND:$< COMPILE_LANGUAGE:Swift> ,$< BOOL:${SwiftCore_ENABLE_LIBRARY_EVOLUTION} > > :-enable-library-evolution> )
95
+ add_compile_options ($< $< AND:$< COMPILE_LANGUAGE:Swift> ,$< BOOL:${SwiftCore_ENABLE_LIBRARY_EVOLUTION} > > :-enable-library-evolution> )
86
96
87
97
include_directories (include )
88
98
0 commit comments