summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-11-06 12:58:25 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-11-06 12:58:54 (GMT)
commitb80e39d0f6a96c67f731c98b7bfc696fcfe11268 (patch)
treed6f3067caf3a47a448375b7b4b8c8b7a79f0f7f3
parentdd8c91a4f39ff93f3314544af418198f27a2b87d (diff)
parent4c6797e03e525e1f475547262149c4c6e8fedeb7 (diff)
downloadCMake-b80e39d0f6a96c67f731c98b7bfc696fcfe11268.zip
CMake-b80e39d0f6a96c67f731c98b7bfc696fcfe11268.tar.gz
CMake-b80e39d0f6a96c67f731c98b7bfc696fcfe11268.tar.bz2
Merge topic 'apple-v4-tbd-file-arch-lookup' into release-3.19
4c6797e03e Apple: Update SDK architecture detection for tbd file version 4 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5470
-rw-r--r--Modules/Platform/Darwin-Initialize.cmake12
1 files changed, 9 insertions, 3 deletions
diff --git a/Modules/Platform/Darwin-Initialize.cmake b/Modules/Platform/Darwin-Initialize.cmake
index 15e6123..213f71b 100644
--- a/Modules/Platform/Darwin-Initialize.cmake
+++ b/Modules/Platform/Darwin-Initialize.cmake
@@ -145,20 +145,26 @@ function(_apple_resolve_supported_archs_for_sdk_from_system_lib sdk_path ret ret
# Newer SDKs ship text based dylib stub files which contain the architectures supported by the
# library in text form.
if(EXISTS "${system_lib_tbd_path}")
- file(STRINGS "${system_lib_tbd_path}" tbd_lines REGEX "^archs: +\\[.+\\]")
+ file(STRINGS "${system_lib_tbd_path}" tbd_lines REGEX "^(archs|targets): +\\[.+\\]")
if(NOT tbd_lines)
set(${ret_failed} TRUE PARENT_SCOPE)
return()
endif()
# The tbd architectures line looks like the following:
- # archs: [ armv7, armv7s, arm64, arm64e ]
+ # archs: [ armv7, armv7s, arm64, arm64e ]
+ # or for version 4 TBD files:
+ # targets: [ armv7-ios, armv7s-ios, arm64-ios, arm64e-ios ]
list(GET tbd_lines 0 first_arch_line)
string(REGEX REPLACE
- "archs: +\\[ (.+) \\]" "\\1" arches_comma_separated "${first_arch_line}")
+ "(archs|targets): +\\[ (.+) \\]" "\\2" arches_comma_separated "${first_arch_line}")
string(STRIP "${arches_comma_separated}" arches_comma_separated)
string(REPLACE "," ";" arch_list "${arches_comma_separated}")
string(REPLACE " " "" arch_list "${arch_list}")
+
+ # Remove -platform suffix from target (version 4 only)
+ string(REGEX REPLACE "-[a-z-]+" "" arch_list "${arch_list}")
+
if(NOT arch_list)
set(${ret_failed} TRUE PARENT_SCOPE)
return()