diff options
author | Brad King <brad.king@kitware.com> | 2020-08-17 18:52:03 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-08-17 18:52:08 (GMT) |
commit | 3313bf06eb3e8ca3ca655f85e216368e61ee620d (patch) | |
tree | 236b41ebffce424796d63ebceb15596dc6754292 /Modules | |
parent | 35d8543f2524d088ccbe7eb4a600f2c65d7f53d7 (diff) | |
parent | 5852b8867f77c17ae4c905c4f41db850f8d53d47 (diff) | |
download | CMake-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.cmake | 14 |
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) |