Files
CMake/Tests/RunCMake/CPack/tests/EXTERNAL/create_package.cmake
Alex Turbov a6e1b20bab CPack External: Introduce CPACK_EXTERNAL_BUILT_PACKAGES
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.
2020-06-05 08:56:32 -04:00

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
)