Skip to content

Commit 2706fc0

Browse files
ndrewhaokblast
authored andcommitted
[compiler-rt] [CMake] Skip find_darwin_sdk_dir on disabled platforms (llvm#163591)
find_darwin_sdk_dir can be slow, especially if xcrun does not immediately find the corresponding SDK (i.e. because it is missing). This skips those checks if the user has already set the corresponding CMake variable to disable the platform anyway.
1 parent 28d740f commit 2706fc0

File tree

2 files changed

+28
-14
lines changed

2 files changed

+28
-14
lines changed

compiler-rt/cmake/builtin-config-ix.cmake

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,22 @@ include(CompilerRTDarwinUtils)
117117
if(APPLE)
118118

119119
find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx)
120-
find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator)
121-
find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos)
122-
find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator)
123-
find_darwin_sdk_dir(DARWIN_watchos_SYSROOT watchos)
124-
find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator)
125-
find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos)
126-
find_darwin_sdk_dir(DARWIN_xrossim_SYSROOT xrsimulator)
127-
find_darwin_sdk_dir(DARWIN_xros_SYSROOT xros)
120+
if(COMPILER_RT_ENABLE_IOS)
121+
find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator)
122+
find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos)
123+
endif()
124+
if(COMPILER_RT_ENABLE_WATCHOS)
125+
find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator)
126+
find_darwin_sdk_dir(DARWIN_watchos_SYSROOT watchos)
127+
endif()
128+
if(COMPILER_RT_ENABLE_TVOS)
129+
find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator)
130+
find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos)
131+
endif()
132+
if(COMPILER_RT_ENABLE_XROS)
133+
find_darwin_sdk_dir(DARWIN_xrossim_SYSROOT xrsimulator)
134+
find_darwin_sdk_dir(DARWIN_xros_SYSROOT xros)
135+
endif()
128136

129137
# Get supported architecture from SDKSettings.
130138
function(sdk_has_arch_support sdk_path os arch has_support)

compiler-rt/cmake/config-ix.cmake

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -408,12 +408,18 @@ if(APPLE)
408408
include(CompilerRTDarwinUtils)
409409

410410
find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx)
411-
find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator)
412-
find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos)
413-
find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator)
414-
find_darwin_sdk_dir(DARWIN_watchos_SYSROOT watchos)
415-
find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator)
416-
find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos)
411+
if(COMPILER_RT_ENABLE_IOS)
412+
find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator)
413+
find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos)
414+
endif()
415+
if(COMPILER_RT_ENABLE_WATCHOS)
416+
find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator)
417+
find_darwin_sdk_dir(DARWIN_watchos_SYSROOT watchos)
418+
endif()
419+
if(COMPILER_RT_ENABLE_TVOS)
420+
find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator)
421+
find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos)
422+
endif()
417423

418424
if(NOT DARWIN_osx_SYSROOT)
419425
message(WARNING "Could not determine OS X sysroot, trying /usr/include")

0 commit comments

Comments
 (0)