mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-26 00:20:06 -06:00
The `CPACK_EXTERNAL_PACKAGE_SCRIPT` script may set this list variable to the full paths of generated package files. CPack copy these files from the stage directory back to the top build directory and possibly produce checksum files if the `CPACK_PACKAGE_CHECKSUM` is set.
40 lines
1.3 KiB
CMake
40 lines
1.3 KiB
CMake
message("This script could run an external packaging tool")
|
|
|
|
get_property(role GLOBAL PROPERTY CMAKE_ROLE)
|
|
if(NOT role STREQUAL "CPACK")
|
|
message(SEND_ERROR "CMAKE_ROLE property is \"${role}\", should be \"CPACK\"")
|
|
endif()
|
|
|
|
function(expect_variable VAR)
|
|
if(NOT ${VAR})
|
|
message(FATAL_ERROR "${VAR} is unexpectedly not set")
|
|
endif()
|
|
endfunction()
|
|
|
|
function(expect_file FILE)
|
|
if(NOT EXISTS "${FILE}")
|
|
message(FATAL_ERROR "${FILE} is unexpectedly missing")
|
|
endif()
|
|
endfunction()
|
|
|
|
expect_variable(CPACK_COMPONENTS_ALL)
|
|
expect_variable(CPACK_TOPLEVEL_DIRECTORY)
|
|
expect_variable(CPACK_TEMPORARY_DIRECTORY)
|
|
expect_variable(CPACK_PACKAGE_DIRECTORY)
|
|
expect_variable(CPACK_PACKAGE_FILE_NAME)
|
|
|
|
expect_file(${CPACK_TEMPORARY_DIRECTORY}/f1/share/cpack-test/f1.txt)
|
|
expect_file(${CPACK_TEMPORARY_DIRECTORY}/f2/share/cpack-test/f2.txt)
|
|
expect_file(${CPACK_TEMPORARY_DIRECTORY}/f3/share/cpack-test/f3.txt)
|
|
expect_file(${CPACK_TEMPORARY_DIRECTORY}/f4/share/cpack-test/f4.txt)
|
|
|
|
message(STATUS "This status message is expected to be visible")
|
|
|
|
set(
|
|
CPACK_EXTERNAL_BUILT_PACKAGES
|
|
${CPACK_TEMPORARY_DIRECTORY}/f1/share/cpack-test/f1.txt
|
|
${CPACK_TEMPORARY_DIRECTORY}/f2/share/cpack-test/f2.txt
|
|
${CPACK_TEMPORARY_DIRECTORY}/f3/share/cpack-test/f3.txt
|
|
${CPACK_TEMPORARY_DIRECTORY}/f4/share/cpack-test/f4.txt
|
|
)
|