CMakePackageConfigHelpers: Clarify Apple platform selection usage error

`generate_apple_platform_selection_file` requires `INSTALL_DESTINATION`.
This commit is contained in:
Brad King
2023-12-18 14:57:01 -05:00
parent 3b9586671c
commit dc5098429b
5 changed files with 19 additions and 0 deletions

View File

@@ -428,6 +428,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})

View File

@@ -0,0 +1 @@
1

View File

@@ -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\)$

View File

@@ -0,0 +1,4 @@
include(CMakePackageConfigHelpers)
generate_apple_platform_selection_file(mylib-config-install.cmake
#missing: INSTALL_DESTINATION lib/cmake/mylib
)

View File

@@ -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}")