mirror of
https://github.com/Kitware/CMake.git
synced 2026-07-11 18:13:40 +00:00
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.
This commit is contained in:
@@ -281,3 +281,10 @@ Variables specific to CPack External generator
|
||||
It is invoked after (optional) staging took place and may
|
||||
run an external packaging tool. The script has access to
|
||||
the variables defined by the CPack config file.
|
||||
|
||||
.. variable:: 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 :variable:`CPACK_PACKAGE_CHECKSUM` is set.
|
||||
|
||||
4
Help/release/dev/CPACK_EXTERNAL_BUILT_PACKAGES.rst
Normal file
4
Help/release/dev/CPACK_EXTERNAL_BUILT_PACKAGES.rst
Normal file
@@ -0,0 +1,4 @@
|
||||
CPACK_EXTERNAL_BUILT_PACKAGES
|
||||
-----------------------------
|
||||
|
||||
* :cpack_gen:`CPack External Generator` learned the :variable:`CPACK_EXTERNAL_BUILT_PACKAGES` variable.
|
||||
@@ -75,6 +75,12 @@ int cmCPackExternalGenerator::PackageFiles()
|
||||
if (cmSystemTools::GetErrorOccuredFlag() || !res) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* builtPackagesStr =
|
||||
this->GetOption("CPACK_EXTERNAL_BUILT_PACKAGES");
|
||||
if (builtPackagesStr) {
|
||||
cmExpandList(builtPackagesStr, this->packageFileNames, false);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
||||
@@ -29,3 +29,11 @@ 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
|
||||
)
|
||||
|
||||
@@ -1 +1,11 @@
|
||||
-- This status message is expected to be visible
|
||||
CPack: - package: .*/Tests/RunCMake/External/CPack/EXTERNAL-build-stage_and_package-subtest/external-0\.1\.1-.*\.json generated\.
|
||||
CPack: - checksum file: .*/Tests/RunCMake/External/CPack/EXTERNAL-build-stage_and_package-subtest/external-0\.1\.1-.*\.json\.sha1 generated\.
|
||||
CPack: - package: .*/Tests/RunCMake/External/CPack/EXTERNAL-build-stage_and_package-subtest/f1\.txt generated\.
|
||||
CPack: - checksum file: .*/Tests/RunCMake/External/CPack/EXTERNAL-build-stage_and_package-subtest/f1\.txt\.sha1 generated\.
|
||||
CPack: - package: .*/Tests/RunCMake/External/CPack/EXTERNAL-build-stage_and_package-subtest/f2\.txt generated\.
|
||||
CPack: - checksum file: .*/Tests/RunCMake/External/CPack/EXTERNAL-build-stage_and_package-subtest/f2\.txt\.sha1 generated\.
|
||||
CPack: - package: .*/Tests/RunCMake/External/CPack/EXTERNAL-build-stage_and_package-subtest/f3\.txt generated\.
|
||||
CPack: - checksum file: .*/Tests/RunCMake/External/CPack/EXTERNAL-build-stage_and_package-subtest/f3\.txt\.sha1 generated\.
|
||||
CPack: - package: .*/Tests/RunCMake/External/CPack/EXTERNAL-build-stage_and_package-subtest/f4\.txt generated\.
|
||||
CPack: - checksum file: .*/Tests/RunCMake/External/CPack/EXTERNAL-build-stage_and_package-subtest/f4\.txt\.sha1 generated\.
|
||||
|
||||
@@ -17,6 +17,7 @@ elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "invalid_bad")
|
||||
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "stage_and_package")
|
||||
set(CPACK_EXTERNAL_ENABLE_STAGING 1)
|
||||
set(CPACK_EXTERNAL_PACKAGE_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/create_package.cmake")
|
||||
set(CPACK_PACKAGE_CHECKSUM SHA1)
|
||||
endif()
|
||||
|
||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/f1.txt" test1)
|
||||
|
||||
Reference in New Issue
Block a user