summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-12-19 13:09:49 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-12-19 13:10:15 (GMT)
commitd2cbadf3b435af9d271b5ed174c56c16af771f79 (patch)
tree9e3210ea8362b25b4dee9d9704b94d46e4c5c72b
parent923cb0ed2faabd1e65b112af03066e6b77d31be1 (diff)
parentdc5098429b5bd6b5f5c61eb76dcdb79f022b323e (diff)
downloadCMake-d2cbadf3b435af9d271b5ed174c56c16af771f79.zip
CMake-d2cbadf3b435af9d271b5ed174c56c16af771f79.tar.gz
CMake-d2cbadf3b435af9d271b5ed174c56c16af771f79.tar.bz2
Merge topic 'package-dispatch-apple'
dc5098429b CMakePackageConfigHelpers: Clarify Apple platform selection usage error 3b9586671c CMakePackageConfigHelpers: Clarify Apple platform selection template name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9087
-rw-r--r--Modules/CMakePackageConfigHelpers.cmake6
-rw-r--r--Modules/Internal/ApplePlatformSelection.cmake.in (renamed from Modules/Internal/PlatformSelectionFile.cmake.in)0
-rw-r--r--Tests/RunCMake/CMakePackage/ApplePlatformMissingDest-result.txt1
-rw-r--r--Tests/RunCMake/CMakePackage/ApplePlatformMissingDest-stderr.txt6
-rw-r--r--Tests/RunCMake/CMakePackage/ApplePlatformMissingDest.cmake4
-rw-r--r--Tests/RunCMake/CMakePackage/RunCMakeTest.cmake4
6 files changed, 20 insertions, 1 deletions
diff --git a/Modules/CMakePackageConfigHelpers.cmake b/Modules/CMakePackageConfigHelpers.cmake
index 386c39d..407acff 100644
--- a/Modules/CMakePackageConfigHelpers.cmake
+++ b/Modules/CMakePackageConfigHelpers.cmake
@@ -430,6 +430,10 @@ function(generate_apple_platform_selection_file _output_file)
set(_multi)
cmake_parse_arguments(PARSE_ARGV 0 _gpsf "${_options}" "${_single}" "${_multi}")
+ if(NOT _gpsf_INSTALL_DESTINATION)
+ message(FATAL_ERROR "No INSTALL_DESTINATION given to generate_apple_platform_selection_file()")
+ endif()
+
set(_have_relative 0)
foreach(_opt IN LISTS _config_file_options)
if(_gpsf_${_opt})
@@ -444,7 +448,7 @@ function(generate_apple_platform_selection_file _output_file)
endif()
endforeach()
- configure_package_config_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/Internal/PlatformSelectionFile.cmake.in" "${_output_file}"
+ configure_package_config_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/Internal/ApplePlatformSelection.cmake.in" "${_output_file}"
INSTALL_DESTINATION "${_gpsf_INSTALL_DESTINATION}"
NO_SET_AND_CHECK_MACRO
NO_CHECK_REQUIRED_COMPONENTS_MACRO
diff --git a/Modules/Internal/PlatformSelectionFile.cmake.in b/Modules/Internal/ApplePlatformSelection.cmake.in
index 493d650..493d650 100644
--- a/Modules/Internal/PlatformSelectionFile.cmake.in
+++ b/Modules/Internal/ApplePlatformSelection.cmake.in
diff --git a/Tests/RunCMake/CMakePackage/ApplePlatformMissingDest-result.txt b/Tests/RunCMake/CMakePackage/ApplePlatformMissingDest-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMakePackage/ApplePlatformMissingDest-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMakePackage/ApplePlatformMissingDest-stderr.txt b/Tests/RunCMake/CMakePackage/ApplePlatformMissingDest-stderr.txt
new file mode 100644
index 0000000..03be015
--- /dev/null
+++ b/Tests/RunCMake/CMakePackage/ApplePlatformMissingDest-stderr.txt
@@ -0,0 +1,6 @@
+^CMake Error at [^
+]*/Modules/CMakePackageConfigHelpers\.cmake:[0-9]+ \(message\):
+ No INSTALL_DESTINATION given to generate_apple_platform_selection_file\(\)
+Call Stack \(most recent call first\):
+ ApplePlatformMissingDest\.cmake:[0-9]+ \(generate_apple_platform_selection_file\)
+ CMakeLists.txt:[0-9]+ \(include\)$
diff --git a/Tests/RunCMake/CMakePackage/ApplePlatformMissingDest.cmake b/Tests/RunCMake/CMakePackage/ApplePlatformMissingDest.cmake
new file mode 100644
index 0000000..e47b595
--- /dev/null
+++ b/Tests/RunCMake/CMakePackage/ApplePlatformMissingDest.cmake
@@ -0,0 +1,4 @@
+include(CMakePackageConfigHelpers)
+generate_apple_platform_selection_file(mylib-config-install.cmake
+ #missing: INSTALL_DESTINATION lib/cmake/mylib
+ )
diff --git a/Tests/RunCMake/CMakePackage/RunCMakeTest.cmake b/Tests/RunCMake/CMakePackage/RunCMakeTest.cmake
index 9fef792..9c1dbd5 100644
--- a/Tests/RunCMake/CMakePackage/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CMakePackage/RunCMakeTest.cmake
@@ -33,6 +33,10 @@ function(apple_import platform system_name archs sysroot)
run_cmake_command(apple-import-${platform}-build ${CMAKE_COMMAND} --build . --config Release)
endfunction()
+if(APPLE)
+ run_cmake(ApplePlatformMissingDest)
+endif()
+
if(APPLE AND CMAKE_C_COMPILER_ID STREQUAL "AppleClang")
set(apple_install ${RunCMake_BINARY_DIR}/apple-install)
file(REMOVE_RECURSE "${apple_install}")