3131
3232cmake_minimum_required (VERSION 3.26...3.29)
3333
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} )
3536include (CMakeWorkarounds)
3637project (SwiftCore LANGUAGES C CXX Swift VERSION 6.1)
3738
@@ -47,6 +48,13 @@ set(SwiftCore_SWIFTC_SOURCE_DIR
4748 "${PROJECT_SOURCE_DIR} /../../"
4849 CACHE FILEPATH "Path to the root source directory of the Swift compiler" )
4950
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+
5058include (GNUInstallDirs)
5159include (AvailabilityMacros)
5260include (CompilerSettings)
@@ -55,6 +63,8 @@ include(EmitSwiftInterface)
5563include (PlatformInfo)
5664include (gyb)
5765
66+ include ("${SwiftCore_VENDOR_MODULE_DIR} /Settings.cmake" OPTIONAL )
67+
5868defaulted_option(SwiftCore_ENABLE_LIBRARY_EVOLUTION "Generate ABI resilient runtime libraries" )
5969
6070defaulted_option(SwiftCore_ENABLE_CRASH_REPORTER_CLIENT "Enable Apple CrashReporter integration" )
@@ -66,12 +76,12 @@ defaulted_option(SwiftCore_ENABLE_COMMANDLINE_SUPPORT "Enable command line argum
6676defaulted_option(SwiftCore_ENABLE_RUNTIME_FUNCTION_COUNTERS "Enable runtime function counter support" )
6777
6878defaulted_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" )
7080
7181option (SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS "" OFF )
7282option (SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER "" OFF )
7383
74- set (SwiftCore_OBJECT_FORMAT " ${SwiftCore_OBJECT_FORMAT_default} " CACHE STRING "Object format" )
84+ defaulted_set (SwiftCore_OBJECT_FORMAT STRING "Object format: ELF COFF " )
7585
7686add_compile_definitions (
7787 $<$<BOOL :${SwiftCore_ENABLE_OBJC_INTEROP} >:-DSWIFT_OBJC_INTEROP>
@@ -82,7 +92,7 @@ add_compile_definitions(
8292 $<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_RUNTIME_ENABLE_LEAK_CHECKER=$<BOOL :${SwiftCore_ENABLE_RUNTIME_LEAK_CHECKER} >>
8393 $<$<COMPILE_LANGUAGE:C,CXX>:-DSWIFT_RUNTIME_CLOBBER_FREED_OBJECTS=$<BOOL :${SwiftCore_ENABLE_CLOBBER_FREED_OBJECTS} >>)
8494
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>)
8696
8797include_directories (include )
8898
0 commit comments