diff options
author | Brad King <brad.king@kitware.com> | 2023-04-04 13:26:01 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-04-04 13:26:01 (GMT) |
commit | c07e915adb92c444bbe6bedb7e3e6b6da52b5239 (patch) | |
tree | b5ed9f2145cfc71217a65d70c61e7c7281b055cb /Modules/CMakeDetermineSwiftCompiler.cmake | |
parent | 7764354a9758c38b43c80616e967a31b79c29030 (diff) | |
parent | 52dbfefe0d5b592933c7b712086a9000155cc546 (diff) | |
download | CMake-c07e915adb92c444bbe6bedb7e3e6b6da52b5239.zip CMake-c07e915adb92c444bbe6bedb7e3e6b6da52b5239.tar.gz CMake-c07e915adb92c444bbe6bedb7e3e6b6da52b5239.tar.bz2 |
Merge topic 'swift-xcode-14.3'
52dbfefe0d Xcode: Fix detection of Swift compiler location for Xcode 14.3
Merge-request: !8388
Diffstat (limited to 'Modules/CMakeDetermineSwiftCompiler.cmake')
-rw-r--r-- | Modules/CMakeDetermineSwiftCompiler.cmake | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Modules/CMakeDetermineSwiftCompiler.cmake b/Modules/CMakeDetermineSwiftCompiler.cmake index f0a63a8..7239424 100644 --- a/Modules/CMakeDetermineSwiftCompiler.cmake +++ b/Modules/CMakeDetermineSwiftCompiler.cmake @@ -15,7 +15,14 @@ if("${CMAKE_GENERATOR}" STREQUAL "Xcode") message(FATAL_ERROR "Swift language not supported by Xcode ${XCODE_VERSION}") endif() set(CMAKE_Swift_COMPILER_XCODE_TYPE sourcecode.swift) - _cmake_find_compiler_path(Swift) + execute_process(COMMAND xcrun --find swiftc + OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_VARIABLE _xcrun_err RESULT_VARIABLE _xcrun_result) + if(_xcrun_result EQUAL 0 AND EXISTS "${_xcrun_out}") + set(CMAKE_Swift_COMPILER "${_xcrun_out}") + else() + _cmake_find_compiler_path(Swift) + endif() elseif("${CMAKE_GENERATOR}" MATCHES "^Ninja") if(CMAKE_Swift_COMPILER) _cmake_find_compiler_path(Swift) @@ -52,9 +59,6 @@ if(NOT CMAKE_Swift_COMPILER_ID_RUN) if("${CMAKE_GENERATOR}" STREQUAL "Xcode") list(APPEND CMAKE_Swift_COMPILER_ID_MATCH_VENDORS Apple) set(CMAKE_Swift_COMPILER_ID_MATCH_VENDOR_REGEX_Apple "com.apple.xcode.tools.swift.compiler") - - set(CMAKE_Swift_COMPILER_ID_TOOL_MATCH_REGEX "\nCompileSwift[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]* -c[^\r\n]*CompilerIdSwift/CompilerId/main.swift") - set(CMAKE_Swift_COMPILER_ID_TOOL_MATCH_INDEX 2) endif() # Try to identify the compiler. |