summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-08-17 18:52:03 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-08-17 18:52:08 (GMT)
commit3313bf06eb3e8ca3ca655f85e216368e61ee620d (patch)
tree236b41ebffce424796d63ebceb15596dc6754292 /Modules
parent35d8543f2524d088ccbe7eb4a600f2c65d7f53d7 (diff)
parent5852b8867f77c17ae4c905c4f41db850f8d53d47 (diff)
downloadCMake-3313bf06eb3e8ca3ca655f85e216368e61ee620d.zip
CMake-3313bf06eb3e8ca3ca655f85e216368e61ee620d.tar.gz
CMake-3313bf06eb3e8ca3ca655f85e216368e61ee620d.tar.bz2
Merge topic 'ios-combined-prune-archs'
5852b8867f CMakeIOSInstallCombined: Enforce disjoint architecture sets 79098d23eb Tests: Avoid warnings about unused arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5111
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CMakeIOSInstallCombined.cmake14
1 files changed, 13 insertions, 1 deletions
diff --git a/Modules/CMakeIOSInstallCombined.cmake b/Modules/CMakeIOSInstallCombined.cmake
index 418bafd..44bb622 100644
--- a/Modules/CMakeIOSInstallCombined.cmake
+++ b/Modules/CMakeIOSInstallCombined.cmake
@@ -80,6 +80,17 @@ function(_ios_install_combined_get_valid_archs sdk resultvar)
cmake_policy(POP)
endfunction()
+# Make both arch lists a disjoint set by preferring the current SDK
+# (starting with Xcode 12 arm64 is available as device and simulator arch on iOS)
+function(_ios_install_combined_prune_common_archs corr_sdk corr_archs_var this_archs_var)
+ list(REMOVE_ITEM ${corr_archs_var} ${${this_archs_var}})
+
+ string(REPLACE ";" " " printable "${${corr_archs_var}}")
+ _ios_install_combined_message("Architectures (${corr_sdk}) after pruning: ${printable}")
+
+ set("${corr_archs_var}" "${${corr_archs_var}}" PARENT_SCOPE)
+endfunction()
+
# Final target can contain more architectures that specified by SDK. This
# function will run 'lipo -info' and parse output. Result will be returned
# as a CMake list.
@@ -266,8 +277,9 @@ function(ios_install_combined target destination)
_ios_install_combined_detect_sdks(this_sdk corr_sdk)
# Get architectures of the target
- _ios_install_combined_get_valid_archs("${corr_sdk}" corr_valid_archs)
_ios_install_combined_get_valid_archs("${this_sdk}" this_valid_archs)
+ _ios_install_combined_get_valid_archs("${corr_sdk}" corr_valid_archs)
+ _ios_install_combined_prune_common_archs("${corr_sdk}" corr_valid_archs this_valid_archs)
# Return if there are no valid architectures for the SDK.
# (note that library already installed)