From be642f6ed52e3633e6a173a2d39043a5f10c91eb Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 18 Mar 2024 10:53:22 -0400 Subject: generate_apple_architecture_selection_file: Simplify signature Allow callers to pass multiple values to list-valued arguments instead of putting the entire list in a single quoted argument. Fixes: #25779 --- Modules/CMakePackageConfigHelpers.cmake | 27 ++++++++++------------ .../apple-export-ios-simulator-common.cmake | 6 ++--- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/Modules/CMakePackageConfigHelpers.cmake b/Modules/CMakePackageConfigHelpers.cmake index b5bcd02..59d604a 100644 --- a/Modules/CMakePackageConfigHelpers.cmake +++ b/Modules/CMakePackageConfigHelpers.cmake @@ -271,9 +271,9 @@ Generating an Apple Platform Selection File generate_apple_architecture_selection_file( INSTALL_DESTINATION [INSTALL_PREFIX ] - [SINGLE_ARCHITECTURES - SINGLE_ARCHITECTURE_INCLUDE_FILES ] - [UNIVERSAL_ARCHITECTURES + [SINGLE_ARCHITECTURES ... + SINGLE_ARCHITECTURE_INCLUDE_FILES ...] + [UNIVERSAL_ARCHITECTURES ... UNIVERSAL_INCLUDE_FILE ] ) @@ -292,21 +292,17 @@ Generating an Apple Platform Selection File is not passed, the :variable:`CMAKE_INSTALL_PREFIX` variable will be used instead. - ``SINGLE_ARCHITECTURES `` - A :ref:`semicolon-separated list ` of - architectures provided by entries of - ``SINGLE_ARCHITECTURE_INCLUDE_FILES``. + ``SINGLE_ARCHITECTURES ...`` + Architectures provided by entries of ``SINGLE_ARCHITECTURE_INCLUDE_FILES``. - ``SINGLE_ARCHITECTURE_INCLUDE_FILES `` - A :ref:`semicolon-separated list ` of - architecture-specific files. One of them will be loaded + ``SINGLE_ARCHITECTURE_INCLUDE_FILES ...`` + Architecture-specific files. One of them will be loaded when :variable:`CMAKE_OSX_ARCHITECTURES` contains a single architecture matching the corresponding entry of ``SINGLE_ARCHITECTURES``. - ``UNIVERSAL_ARCHITECTURES `` - A :ref:`semicolon-separated list ` of - architectures provided by the ``UNIVERSAL_INCLUDE_FILE``. + ``UNIVERSAL_ARCHITECTURES ...`` + Architectures provided by the ``UNIVERSAL_INCLUDE_FILE``. ``UNIVERSAL_INCLUDE_FILE `` A file to load when :variable:`CMAKE_OSX_ARCHITECTURES` contains @@ -526,12 +522,13 @@ function(generate_apple_architecture_selection_file _output_file) set(_single INSTALL_DESTINATION INSTALL_PREFIX + UNIVERSAL_INCLUDE_FILE + ) + set(_multi SINGLE_ARCHITECTURES SINGLE_ARCHITECTURE_INCLUDE_FILES UNIVERSAL_ARCHITECTURES - UNIVERSAL_INCLUDE_FILE ) - set(_multi) cmake_parse_arguments(PARSE_ARGV 0 _gasf "${_options}" "${_single}" "${_multi}") if(NOT _gasf_INSTALL_DESTINATION) diff --git a/Tests/RunCMake/CMakePackage/apple-export-ios-simulator-common.cmake b/Tests/RunCMake/CMakePackage/apple-export-ios-simulator-common.cmake index cb4f7aa..ab66407 100644 --- a/Tests/RunCMake/CMakePackage/apple-export-ios-simulator-common.cmake +++ b/Tests/RunCMake/CMakePackage/apple-export-ios-simulator-common.cmake @@ -7,9 +7,9 @@ if(IOS_SIMULATOR_SELECT_ARCHS) generate_apple_architecture_selection_file(mylib-select-arch-install.cmake INSTALL_DESTINATION lib/ios-simulator/cmake/mylib INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} - SINGLE_ARCHITECTURES "${IOS_SIMULATOR_SELECT_ARCHS}" - SINGLE_ARCHITECTURE_INCLUDE_FILES "${IOS_SIMULATOR_SELECT_FILES}" - UNIVERSAL_ARCHITECTURES "${IOS_SIMULATOR_SELECT_ARCHS}" + SINGLE_ARCHITECTURES ${IOS_SIMULATOR_SELECT_ARCHS} + SINGLE_ARCHITECTURE_INCLUDE_FILES ${IOS_SIMULATOR_SELECT_FILES} + UNIVERSAL_ARCHITECTURES ${IOS_SIMULATOR_SELECT_ARCHS} UNIVERSAL_INCLUDE_FILE "lib/ios-simulator/cmake/mylib/mylib-targets.cmake" ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mylib-select-arch-install.cmake DESTINATION lib/ios-simulator/cmake/mylib RENAME mylib-select-arch.cmake) -- cgit v0.12