Merge topic 'package-dispatch-apple'

2a398cd9b6 CMakePackageConfigHelpers: Clarify generate_apple_*_selection_file signatures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9130
diff --git a/Modules/CMakePackageConfigHelpers.cmake b/Modules/CMakePackageConfigHelpers.cmake
index eeab67b..b5bcd02 100644
--- a/Modules/CMakePackageConfigHelpers.cmake
+++ b/Modules/CMakePackageConfigHelpers.cmake
@@ -201,26 +201,26 @@
     generate_apple_platform_selection_file(<filename>
       INSTALL_DESTINATION <path>
       [INSTALL_PREFIX <path>]
-      [MACOS_CONFIG_FILE <file>]
-      [IOS_CONFIG_FILE <file>]
-      [IOS_SIMULATOR_CONFIG_FILE <file>]
-      [TVOS_CONFIG_FILE <file>]
-      [TVOS_SIMULATOR_CONFIG_FILE <file>]
-      [WATCHOS_CONFIG_FILE <file>]
-      [WATCHOS_SIMULATOR_CONFIG_FILE <file>]
-      [VISIONOS_CONFIG_FILE <file>]
-      [VISIONOS_SIMULATOR_CONFIG_FILE <file>]
+      [MACOS_INCLUDE_FILE <file>]
+      [IOS_INCLUDE_FILE <file>]
+      [IOS_SIMULATOR_INCLUDE_FILE <file>]
+      [TVOS_INCLUDE_FILE <file>]
+      [TVOS_SIMULATOR_INCLUDE_FILE <file>]
+      [WATCHOS_INCLUDE_FILE <file>]
+      [WATCHOS_SIMULATOR_INCLUDE_FILE <file>]
+      [VISIONOS_INCLUDE_FILE <file>]
+      [VISIONOS_SIMULATOR_INCLUDE_FILE <file>]
       )
 
-  Writes a file for use as ``<PackageName>Config.cmake`` which can include an
-  Apple-platform-specific ``<PackageName>Config.cmake`` from a different
-  directory. This can be used in conjunction with the ``XCFRAMEWORK_LOCATION``
-  argument of :command:`export(SETUP)` to export packages in a way that a project
+  Write a file that includes an Apple-platform-specific ``.cmake`` file,
+  e.g., for use as ``<PackageName>Config.cmake``.  This can be used in
+  conjunction with the ``XCFRAMEWORK_LOCATION`` argument of
+  :command:`export(SETUP)` to export packages in a way that a project
   built for any Apple platform can use them.
 
   ``INSTALL_DESTINATION <path>``
-    Path to which the file will be installed by the caller, e.g., via
-    :command:`install(FILES)`.  The path may be either relative to the
+    Path to which the generated file will be installed by the caller, e.g.,
+    via :command:`install(FILES)`.  The path may be either relative to the
     ``INSTALL_PREFIX`` or absolute.
 
   ``INSTALL_PREFIX <path>``
@@ -229,35 +229,35 @@
     is not passed, the :variable:`CMAKE_INSTALL_PREFIX` variable will be
     used instead.
 
-  ``MACOS_CONFIG_FILE <file>``
+  ``MACOS_INCLUDE_FILE <file>``
     File to include if the platform is macOS.
 
-  ``IOS_CONFIG_FILE <file>``
+  ``IOS_INCLUDE_FILE <file>``
     File to include if the platform is iOS.
 
-  ``IOS_SIMULATOR_CONFIG_FILE <file>``
+  ``IOS_SIMULATOR_INCLUDE_FILE <file>``
     File to include if the platform is iOS Simulator.
 
-  ``TVOS_CONFIG_FILE <file>``
+  ``TVOS_INCLUDE_FILE <file>``
     File to include if the platform is tvOS.
 
-  ``TVOS_SIMULATOR_CONFIG_FILE <file>``
+  ``TVOS_SIMULATOR_INCLUDE_FILE <file>``
     File to include if the platform is tvOS Simulator.
 
-  ``WATCHOS_CONFIG_FILE <file>``
+  ``WATCHOS_INCLUDE_FILE <file>``
     File to include if the platform is watchOS.
 
-  ``WATCHOS_SIMULATOR_CONFIG_FILE <file>``
+  ``WATCHOS_SIMULATOR_INCLUDE_FILE <file>``
     File to include if the platform is watchOS Simulator.
 
-  ``VISIONOS_CONFIG_FILE <file>``
+  ``VISIONOS_INCLUDE_FILE <file>``
     File to include if the platform is visionOS.
 
-  ``VISIONOS_SIMULATOR_CONFIG_FILE <file>``
+  ``VISIONOS_SIMULATOR_INCLUDE_FILE <file>``
     File to include if the platform is visionOS Simulator.
 
-  If any of the optional config files are not specified, and the consuming
-  project is built for their corresponding platform, an error will be thrown
+  If any of the optional include files is not specified, and the consuming
+  project is built for its corresponding platform, an error will be thrown
   when including the generated file.
 
 .. command:: generate_apple_architecture_selection_file
@@ -272,18 +272,18 @@
       INSTALL_DESTINATION <path>
       [INSTALL_PREFIX <path>]
       [SINGLE_ARCHITECTURES <archs>
-       SINGLE_ARCHITECTURE_CONFIG_FILES <files>]
+       SINGLE_ARCHITECTURE_INCLUDE_FILES <files>]
       [UNIVERSAL_ARCHITECTURES <archs>
-       UNIVERSAL_CONFIG_FILE <file>]
+       UNIVERSAL_INCLUDE_FILE <file>]
       )
 
-  Writes a file for use as ``<PackageName>Config.cmake`` on Apple platforms
-  which can include an architecture-specific ``<PackageName>Config.cmake``
-  from a different directory based on :variable:`CMAKE_OSX_ARCHITECTURES`.
+  Write a file that includes an Apple-architecture-specific ``.cmake`` file
+  based on :variable:`CMAKE_OSX_ARCHITECTURES`, e.g., for inclusion from an
+  Apple-specific ``<PackageName>Config.cmake`` file.
 
   ``INSTALL_DESTINATION <path>``
-    Path to which the file will be installed by the caller, e.g., via
-    :command:`install(FILES)`.  The path may be either relative to the
+    Path to which the generated file will be installed by the caller, e.g.,
+    via :command:`install(FILES)`.  The path may be either relative to the
     ``INSTALL_PREFIX`` or absolute.
 
   ``INSTALL_PREFIX <path>``
@@ -295,9 +295,9 @@
   ``SINGLE_ARCHITECTURES <archs>``
     A :ref:`semicolon-separated list <CMake Language Lists>` of
     architectures provided by entries of
-    ``SINGLE_ARCHITECTURE_CONFIG_FILES``.
+    ``SINGLE_ARCHITECTURE_INCLUDE_FILES``.
 
-  ``SINGLE_ARCHITECTURE_CONFIG_FILES <files>``
+  ``SINGLE_ARCHITECTURE_INCLUDE_FILES <files>``
     A :ref:`semicolon-separated list <CMake Language Lists>` of
     architecture-specific files.  One of them will be loaded
     when :variable:`CMAKE_OSX_ARCHITECTURES` contains a single
@@ -306,9 +306,9 @@
 
   ``UNIVERSAL_ARCHITECTURES <archs>``
     A :ref:`semicolon-separated list <CMake Language Lists>` of
-    architectures provided by the ``UNIVERSAL_CONFIG_FILE``.
+    architectures provided by the ``UNIVERSAL_INCLUDE_FILE``.
 
-  ``UNIVERSAL_CONFIG_FILE <file>``
+  ``UNIVERSAL_INCLUDE_FILE <file>``
     A file to load when :variable:`CMAKE_OSX_ARCHITECTURES` contains
     a (non-strict) subset of the ``UNIVERSAL_ARCHITECTURES`` and
     does not match any one of the ``SINGLE_ARCHITECTURES``.
@@ -470,15 +470,15 @@
 
 function(generate_apple_platform_selection_file _output_file)
   set(_config_file_options
-    MACOS_CONFIG_FILE
-    IOS_CONFIG_FILE
-    IOS_SIMULATOR_CONFIG_FILE
-    TVOS_CONFIG_FILE
-    TVOS_SIMULATOR_CONFIG_FILE
-    WATCHOS_CONFIG_FILE
-    WATCHOS_SIMULATOR_CONFIG_FILE
-    VISIONOS_CONFIG_FILE
-    VISIONOS_SIMULATOR_CONFIG_FILE
+    MACOS_INCLUDE_FILE
+    IOS_INCLUDE_FILE
+    IOS_SIMULATOR_INCLUDE_FILE
+    TVOS_INCLUDE_FILE
+    TVOS_SIMULATOR_INCLUDE_FILE
+    WATCHOS_INCLUDE_FILE
+    WATCHOS_SIMULATOR_INCLUDE_FILE
+    VISIONOS_INCLUDE_FILE
+    VISIONOS_SIMULATOR_INCLUDE_FILE
     )
 
   set(_options)
@@ -527,9 +527,9 @@
     INSTALL_DESTINATION
     INSTALL_PREFIX
     SINGLE_ARCHITECTURES
-    SINGLE_ARCHITECTURE_CONFIG_FILES
+    SINGLE_ARCHITECTURE_INCLUDE_FILES
     UNIVERSAL_ARCHITECTURES
-    UNIVERSAL_CONFIG_FILE
+    UNIVERSAL_INCLUDE_FILE
     )
   set(_multi)
   cmake_parse_arguments(PARSE_ARGV 0 _gasf "${_options}" "${_single}" "${_multi}")
@@ -544,14 +544,14 @@
   endif()
 
   list(LENGTH _gasf_SINGLE_ARCHITECTURES _gasf_SINGLE_ARCHITECTURES_len)
-  list(LENGTH _gasf_SINGLE_ARCHITECTURE_CONFIG_FILES _gasf_SINGLE_ARCHITECTURE_CONFIG_FILES_len)
-  if(NOT _gasf_SINGLE_ARCHITECTURES_len EQUAL _gasf_SINGLE_ARCHITECTURE_CONFIG_FILES_len)
-    message(FATAL_ERROR "SINGLE_ARCHITECTURES and SINGLE_ARCHITECTURE_CONFIG_FILES do not have the same number of entries.")
+  list(LENGTH _gasf_SINGLE_ARCHITECTURE_INCLUDE_FILES _gasf_SINGLE_ARCHITECTURE_INCLUDE_FILES_len)
+  if(NOT _gasf_SINGLE_ARCHITECTURES_len EQUAL _gasf_SINGLE_ARCHITECTURE_INCLUDE_FILES_len)
+    message(FATAL_ERROR "SINGLE_ARCHITECTURES and SINGLE_ARCHITECTURE_INCLUDE_FILES do not have the same number of entries.")
   endif()
 
   set(_branch_code "")
 
-  foreach(pair IN ZIP_LISTS _gasf_SINGLE_ARCHITECTURES _gasf_SINGLE_ARCHITECTURE_CONFIG_FILES)
+  foreach(pair IN ZIP_LISTS _gasf_SINGLE_ARCHITECTURES _gasf_SINGLE_ARCHITECTURE_INCLUDE_FILES)
     set(arch "${pair_0}")
     set(config_file "${pair_1}")
     if(NOT IS_ABSOLUTE "${config_file}")
@@ -566,9 +566,9 @@
       )
   endforeach()
 
-  if(_gasf_UNIVERSAL_ARCHITECTURES AND _gasf_UNIVERSAL_CONFIG_FILE)
+  if(_gasf_UNIVERSAL_ARCHITECTURES AND _gasf_UNIVERSAL_INCLUDE_FILE)
     string(JOIN " " universal_archs "${_gasf_UNIVERSAL_ARCHITECTURES}")
-    set(config_file "${_gasf_UNIVERSAL_CONFIG_FILE}")
+    set(config_file "${_gasf_UNIVERSAL_INCLUDE_FILE}")
     if(NOT IS_ABSOLUTE "${config_file}")
       string(PREPEND config_file [[${PACKAGE_PREFIX_DIR}/]])
     endif()
@@ -582,9 +582,9 @@
       "endif()\n"
       )
   elseif(_gasf_UNIVERSAL_ARCHITECTURES)
-    message(FATAL_ERROR "UNIVERSAL_CONFIG_FILE requires UNIVERSAL_ARCHITECTURES")
-  elseif(_gasf_UNIVERSAL_CONFIG_FILE)
-    message(FATAL_ERROR "UNIVERSAL_ARCHITECTURES requires UNIVERSAL_CONFIG_FILE")
+    message(FATAL_ERROR "UNIVERSAL_INCLUDE_FILE requires UNIVERSAL_ARCHITECTURES")
+  elseif(_gasf_UNIVERSAL_INCLUDE_FILE)
+    message(FATAL_ERROR "UNIVERSAL_ARCHITECTURES requires UNIVERSAL_INCLUDE_FILE")
   endif()
 
   configure_package_config_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/Internal/AppleArchitectureSelection.cmake.in" "${_output_file}"
diff --git a/Modules/Internal/ApplePlatformSelection.cmake.in b/Modules/Internal/ApplePlatformSelection.cmake.in
index 493d650..5f5e01d 100644
--- a/Modules/Internal/ApplePlatformSelection.cmake.in
+++ b/Modules/Internal/ApplePlatformSelection.cmake.in
@@ -2,23 +2,23 @@
 
 string(TOLOWER "${CMAKE_OSX_SYSROOT}" _CMAKE_OSX_SYSROOT_LOWER)
 if(_CMAKE_OSX_SYSROOT_LOWER MATCHES "(^|/)iphonesimulator")
-  @_branch_IOS_SIMULATOR_CONFIG_FILE@
+  @_branch_IOS_SIMULATOR_INCLUDE_FILE@
 elseif(_CMAKE_OSX_SYSROOT_LOWER MATCHES "(^|/)iphoneos")
-  @_branch_IOS_CONFIG_FILE@
+  @_branch_IOS_INCLUDE_FILE@
 elseif(_CMAKE_OSX_SYSROOT_LOWER MATCHES "(^|/)appletvsimulator")
-  @_branch_TVOS_SIMULATOR_CONFIG_FILE@
+  @_branch_TVOS_SIMULATOR_INCLUDE_FILE@
 elseif(_CMAKE_OSX_SYSROOT_LOWER MATCHES "(^|/)appletvos")
-  @_branch_TVOS_CONFIG_FILE@
+  @_branch_TVOS_INCLUDE_FILE@
 elseif(_CMAKE_OSX_SYSROOT_LOWER MATCHES "(^|/)watchsimulator")
-  @_branch_WATCHOS_SIMULATOR_CONFIG_FILE@
+  @_branch_WATCHOS_SIMULATOR_INCLUDE_FILE@
 elseif(_CMAKE_OSX_SYSROOT_LOWER MATCHES "(^|/)watchos")
-  @_branch_WATCHOS_CONFIG_FILE@
+  @_branch_WATCHOS_INCLUDE_FILE@
 elseif(_CMAKE_OSX_SYSROOT_LOWER MATCHES "(^|/)xrsimulator")
-  @_branch_VISIONOS_SIMULATOR_CONFIG_FILE@
+  @_branch_VISIONOS_SIMULATOR_INCLUDE_FILE@
 elseif(_CMAKE_OSX_SYSROOT_LOWER MATCHES "(^|/)xros")
-  @_branch_VISIONOS_CONFIG_FILE@
+  @_branch_VISIONOS_INCLUDE_FILE@
 elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
-  @_branch_MACOS_CONFIG_FILE@
+  @_branch_MACOS_INCLUDE_FILE@
 else()
   message(FATAL_ERROR "Platform not supported")
 endif()
diff --git a/Tests/RunCMake/CMakePackage/apple-export-common.cmake b/Tests/RunCMake/CMakePackage/apple-export-common.cmake
index d334f75..15e98eb 100644
--- a/Tests/RunCMake/CMakePackage/apple-export-common.cmake
+++ b/Tests/RunCMake/CMakePackage/apple-export-common.cmake
@@ -7,23 +7,23 @@
 install(EXPORT mylib-targets DESTINATION lib/${platform_name}/cmake/mylib)
 
 if(IOS_SIMULATOR_SELECT_ARCHS)
-  set(IOS_SIMULATOR_CONFIG_FILE lib/ios-simulator/cmake/mylib/mylib-select-arch.cmake)
+  set(IOS_SIMULATOR_INCLUDE_FILE lib/ios-simulator/cmake/mylib/mylib-select-arch.cmake)
 else()
-  set(IOS_SIMULATOR_CONFIG_FILE lib/ios-simulator/cmake/mylib/mylib-targets.cmake)
+  set(IOS_SIMULATOR_INCLUDE_FILE lib/ios-simulator/cmake/mylib/mylib-targets.cmake)
 endif()
 
 include(CMakePackageConfigHelpers)
 generate_apple_platform_selection_file(mylib-config-install.cmake
   INSTALL_DESTINATION lib/cmake/mylib
   INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}
-  MACOS_CONFIG_FILE lib/macos/cmake/mylib/mylib-targets.cmake
-  IOS_CONFIG_FILE lib/ios/cmake/mylib/mylib-targets.cmake
-  IOS_SIMULATOR_CONFIG_FILE ${IOS_SIMULATOR_CONFIG_FILE}
-  TVOS_CONFIG_FILE lib/tvos/cmake/mylib/mylib-targets.cmake
-  TVOS_SIMULATOR_CONFIG_FILE lib/tvos-simulator/cmake/mylib/mylib-targets.cmake
-  VISIONOS_CONFIG_FILE lib/watchos/cmake/mylib/mylib-targets.cmake
-  VISIONOS_SIMULATOR_CONFIG_FILE lib/watchos-simulator/cmake/mylib/mylib-targets.cmake
-  WATCHOS_CONFIG_FILE lib/watchos/cmake/mylib/mylib-targets.cmake
-  WATCHOS_SIMULATOR_CONFIG_FILE lib/watchos-simulator/cmake/mylib/mylib-targets.cmake
+  MACOS_INCLUDE_FILE lib/macos/cmake/mylib/mylib-targets.cmake
+  IOS_INCLUDE_FILE lib/ios/cmake/mylib/mylib-targets.cmake
+  IOS_SIMULATOR_INCLUDE_FILE ${IOS_SIMULATOR_INCLUDE_FILE}
+  TVOS_INCLUDE_FILE lib/tvos/cmake/mylib/mylib-targets.cmake
+  TVOS_SIMULATOR_INCLUDE_FILE lib/tvos-simulator/cmake/mylib/mylib-targets.cmake
+  VISIONOS_INCLUDE_FILE lib/watchos/cmake/mylib/mylib-targets.cmake
+  VISIONOS_SIMULATOR_INCLUDE_FILE lib/watchos-simulator/cmake/mylib/mylib-targets.cmake
+  WATCHOS_INCLUDE_FILE lib/watchos/cmake/mylib/mylib-targets.cmake
+  WATCHOS_SIMULATOR_INCLUDE_FILE lib/watchos-simulator/cmake/mylib/mylib-targets.cmake
   )
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mylib-config-install.cmake DESTINATION lib/cmake/mylib RENAME mylib-config.cmake)
diff --git a/Tests/RunCMake/CMakePackage/apple-export-ios-simulator-common.cmake b/Tests/RunCMake/CMakePackage/apple-export-ios-simulator-common.cmake
index ac09d65..9011180d 100644
--- a/Tests/RunCMake/CMakePackage/apple-export-ios-simulator-common.cmake
+++ b/Tests/RunCMake/CMakePackage/apple-export-ios-simulator-common.cmake
@@ -5,9 +5,9 @@
     INSTALL_DESTINATION lib/ios-simulator/cmake/mylib
     INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}
     SINGLE_ARCHITECTURES "${IOS_SIMULATOR_SELECT_ARCHS}"
-    SINGLE_ARCHITECTURE_CONFIG_FILES "lib/ios-simulator-arm64/cmake/mylib/mylib-targets.cmake;lib/ios-simulator-x86_64/cmake/mylib/mylib-targets.cmake"
+    SINGLE_ARCHITECTURE_INCLUDE_FILES "lib/ios-simulator-arm64/cmake/mylib/mylib-targets.cmake;lib/ios-simulator-x86_64/cmake/mylib/mylib-targets.cmake"
     UNIVERSAL_ARCHITECTURES "${IOS_SIMULATOR_SELECT_ARCHS}"
-    UNIVERSAL_CONFIG_FILE "lib/ios-simulator/cmake/mylib/mylib-targets.cmake"
+    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)
 endif()
diff --git a/Tests/RunCMake/XcFramework/export-common.cmake b/Tests/RunCMake/XcFramework/export-common.cmake
index ef2659c..844b7d3 100644
--- a/Tests/RunCMake/XcFramework/export-common.cmake
+++ b/Tests/RunCMake/XcFramework/export-common.cmake
@@ -34,9 +34,9 @@
 
 generate_apple_platform_selection_file(mylib-config-top.cmake
   INSTALL_DESTINATION lib/cmake/mylib
-  MACOS_CONFIG_FILE lib/macos/cmake/mylib/mylib-config.cmake
-  IOS_CONFIG_FILE lib/ios/cmake/mylib/mylib-config.cmake
-  IOS_SIMULATOR_CONFIG_FILE lib/ios-simulator/cmake/mylib/mylib-config.cmake
+  MACOS_INCLUDE_FILE lib/macos/cmake/mylib/mylib-config.cmake
+  IOS_INCLUDE_FILE lib/ios/cmake/mylib/mylib-config.cmake
+  IOS_SIMULATOR_INCLUDE_FILE lib/ios-simulator/cmake/mylib/mylib-config.cmake
   )
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mylib-config-top.cmake DESTINATION lib/cmake/mylib RENAME mylib-config.cmake)
 
diff --git a/Tests/RunCMake/XcFramework/export-ios-simulator.cmake b/Tests/RunCMake/XcFramework/export-ios-simulator.cmake
index 1a4b04e..610e3d1 100644
--- a/Tests/RunCMake/XcFramework/export-ios-simulator.cmake
+++ b/Tests/RunCMake/XcFramework/export-ios-simulator.cmake
@@ -1,3 +1,3 @@
 set(platform_name ios-simulator)
-set(platform_arg IOS_SIMULATOR_CONFIG_FILE)
+set(platform_arg IOS_SIMULATOR_INCLUDE_FILE)
 include(export-common.cmake)
diff --git a/Tests/RunCMake/XcFramework/export-ios.cmake b/Tests/RunCMake/XcFramework/export-ios.cmake
index 606b6a5..2a81310 100644
--- a/Tests/RunCMake/XcFramework/export-ios.cmake
+++ b/Tests/RunCMake/XcFramework/export-ios.cmake
@@ -1,3 +1,3 @@
 set(platform_name ios)
-set(platform_arg IOS_CONFIG_FILE)
+set(platform_arg IOS_INCLUDE_FILE)
 include(export-common.cmake)
diff --git a/Tests/RunCMake/XcFramework/export-macos.cmake b/Tests/RunCMake/XcFramework/export-macos.cmake
index 64ac1c0..7edc1ed 100644
--- a/Tests/RunCMake/XcFramework/export-macos.cmake
+++ b/Tests/RunCMake/XcFramework/export-macos.cmake
@@ -1,3 +1,3 @@
 set(platform_name macos)
-set(platform_arg MACOS_CONFIG_FILE)
+set(platform_arg MACOS_INCLUDE_FILE)
 include(export-common.cmake)