Merge topic 'rename-cpack-ext-generator'

20d5e77a27 CPack: Rename Ext generator to External

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2566
This commit is contained in:
Brad King 2018-11-06 16:29:46 +00:00 committed by Kitware Robot
commit 1674a5b0a4
23 changed files with 99 additions and 97 deletions

View File

@ -21,11 +21,11 @@ install and package files as required.
Alternatively CPack can invoke an external packaging software
through an optional custom CMake script in
:variable:`CPACK_EXT_PACKAGE_SCRIPT` instead.
:variable:`CPACK_EXTERNAL_PACKAGE_SCRIPT` instead.
Staging of installation files may also optionally be
taken care of by the generator when enabled through the
:variable:`CPACK_EXT_ENABLE_STAGING` variable.
:variable:`CPACK_EXTERNAL_ENABLE_STAGING` variable.
JSON Format
^^^^^^^^^^^
@ -46,10 +46,10 @@ always of the format ``major.minor``. In other words, it always has exactly two
parts, separated by a period.
You can request one or more specific versions of the output format as described
below with :variable:`CPACK_EXT_REQUESTED_VERSIONS`. The output format will
below with :variable:`CPACK_EXTERNAL_REQUESTED_VERSIONS`. The output format will
have a major version that exactly matches the requested major version, and a
minor version that is greater than or equal to the requested minor version. If
no version is requested with :variable:`CPACK_EXT_REQUESTED_VERSIONS`, the
no version is requested with :variable:`CPACK_EXTERNAL_REQUESTED_VERSIONS`, the
latest known major version is used by default. Currently, the only supported
format is 1.0, which is described below.
@ -234,7 +234,7 @@ following fields in the root:
Variables specific to CPack External generator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. variable:: CPACK_EXT_REQUESTED_VERSIONS
.. variable:: CPACK_EXTERNAL_REQUESTED_VERSIONS
This variable is used to request a specific version of the CPack External
generator. It is a list of ``major.minor`` values, separated by semicolons.
@ -248,7 +248,7 @@ Variables specific to CPack External generator
The generator knows how to generate the version if it has a versioned
generator whose major version exactly matches the requested major version,
and whose minor version is greater than or equal to the requested minor
version. For example, if ``CPACK_EXT_REQUESTED_VERSIONS`` contains 1.0, and
version. For example, if ``CPACK_EXTERNAL_REQUESTED_VERSIONS`` contains 1.0, and
the CPack External generator knows how to generate 1.1, it will generate 1.1.
If the generator doesn't know how to generate a version in the list, it skips
the version and looks at the next one. If it doesn't know how to generate any
@ -257,11 +257,11 @@ Variables specific to CPack External generator
If this variable is not set, or is empty, the CPack External generator will
generate the highest major and minor version that it knows how to generate.
If an invalid version is encountered in ``CPACK_EXT_REQUESTED_VERSIONS`` (one
If an invalid version is encountered in ``CPACK_EXTERNAL_REQUESTED_VERSIONS`` (one
that doesn't match ``major.minor``, where ``major`` and ``minor`` are
integers), it is ignored.
.. variable:: CPACK_EXT_ENABLE_STAGING
.. variable:: CPACK_EXTERNAL_ENABLE_STAGING
This variable can be set to true to enable optional installation
into a temporary staging area which can then be picked up
@ -274,7 +274,7 @@ Variables specific to CPack External generator
It also contains the staging area ``CPACK_TEMPORARY_DIRECTORY``
into which CPack performs the installation when staging is enabled.
.. variable:: CPACK_EXT_PACKAGE_SCRIPT
.. variable:: CPACK_EXTERNAL_PACKAGE_SCRIPT
This variable can optionally specify the full path to
a CMake script file to be run as part of the CPack invocation.

View File

@ -1,15 +1,15 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
if(NOT "${CPACK_EXT_REQUESTED_VERSIONS}" STREQUAL "")
if(NOT "${CPACK_EXTERNAL_REQUESTED_VERSIONS}" STREQUAL "")
unset(_found_major)
foreach(_req_version IN LISTS CPACK_EXT_REQUESTED_VERSIONS)
foreach(_req_version IN LISTS CPACK_EXTERNAL_REQUESTED_VERSIONS)
if(_req_version MATCHES "^([0-9]+)\\.([0-9]+)$")
set(_req_major "${CMAKE_MATCH_1}")
set(_req_minor "${CMAKE_MATCH_2}")
foreach(_known_version IN LISTS CPACK_EXT_KNOWN_VERSIONS)
foreach(_known_version IN LISTS CPACK_EXTERNAL_KNOWN_VERSIONS)
string(REGEX MATCH
"^([0-9]+)\\.([0-9]+)$"
_known_version_dummy
@ -33,21 +33,21 @@ if(NOT "${CPACK_EXT_REQUESTED_VERSIONS}" STREQUAL "")
endforeach()
if(DEFINED _found_major)
set(CPACK_EXT_SELECTED_MAJOR "${_found_major}")
set(CPACK_EXT_SELECTED_MINOR "${_found_minor}")
set(CPACK_EXT_SELECTED_VERSION "${_found_major}.${_found_minor}")
set(CPACK_EXTERNAL_SELECTED_MAJOR "${_found_major}")
set(CPACK_EXTERNAL_SELECTED_MINOR "${_found_minor}")
set(CPACK_EXTERNAL_SELECTED_VERSION "${_found_major}.${_found_minor}")
else()
message(FATAL_ERROR
"Could not find a suitable version in CPACK_EXT_REQUESTED_VERSIONS"
"Could not find a suitable version in CPACK_EXTERNAL_REQUESTED_VERSIONS"
)
endif()
else()
list(GET CPACK_EXT_KNOWN_VERSIONS 0 CPACK_EXT_SELECTED_VERSION)
list(GET CPACK_EXTERNAL_KNOWN_VERSIONS 0 CPACK_EXTERNAL_SELECTED_VERSION)
string(REGEX MATCH
"^([0-9]+)\\.([0-9]+)$"
_dummy
"${CPACK_EXT_SELECTED_VERSION}"
"${CPACK_EXTERNAL_SELECTED_VERSION}"
)
set(CPACK_EXT_SELECTED_MAJOR "${CMAKE_MATCH_1}")
set(CPACK_EXT_SELECTED_MINOR "${CMAKE_MATCH_2}")
set(CPACK_EXTERNAL_SELECTED_MAJOR "${CMAKE_MATCH_1}")
set(CPACK_EXTERNAL_SELECTED_MINOR "${CMAKE_MATCH_2}")
endif()

View File

@ -892,7 +892,7 @@ set(CPACK_SRCS
CPack/cmCPackArchiveGenerator.cxx
CPack/cmCPackComponentGroup.cxx
CPack/cmCPackDebGenerator.cxx
CPack/cmCPackExtGenerator.cxx
CPack/cmCPackExternalGenerator.cxx
CPack/cmCPackGeneratorFactory.cxx
CPack/cmCPackGenerator.cxx
CPack/cmCPackLog.cxx

View File

@ -1,6 +1,6 @@
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
#include "cmCPackExtGenerator.h"
#include "cmCPackExternalGenerator.h"
#include "cmAlgorithms.h"
#include "cmCPackComponentGroup.h"
@ -16,25 +16,25 @@
#include <utility>
#include <vector>
int cmCPackExtGenerator::InitializeInternal()
int cmCPackExternalGenerator::InitializeInternal()
{
this->SetOption("CPACK_EXT_KNOWN_VERSIONS", "1.0");
this->SetOption("CPACK_EXTERNAL_KNOWN_VERSIONS", "1.0");
if (!this->ReadListFile("Internal/CPack/CPackExt.cmake")) {
if (!this->ReadListFile("Internal/CPack/CPackExternal.cmake")) {
cmCPackLogger(cmCPackLog::LOG_ERROR,
"Error while executing CPackExt.cmake" << std::endl);
"Error while executing CPackExternal.cmake" << std::endl);
return 0;
}
std::string major = this->GetOption("CPACK_EXT_SELECTED_MAJOR");
std::string major = this->GetOption("CPACK_EXTERNAL_SELECTED_MAJOR");
if (major == "1") {
this->Generator = cm::make_unique<cmCPackExtVersion1Generator>(this);
this->Generator = cm::make_unique<cmCPackExternalVersion1Generator>(this);
}
return this->Superclass::InitializeInternal();
}
int cmCPackExtGenerator::PackageFiles()
int cmCPackExternalGenerator::PackageFiles()
{
Json::StreamWriterBuilder builder;
builder["indentation"] = " ";
@ -57,12 +57,12 @@ int cmCPackExtGenerator::PackageFiles()
return 0;
}
const char* packageScript = this->GetOption("CPACK_EXT_PACKAGE_SCRIPT");
const char* packageScript = this->GetOption("CPACK_EXTERNAL_PACKAGE_SCRIPT");
if (packageScript && *packageScript) {
if (!cmSystemTools::FileIsFullPath(packageScript)) {
cmCPackLogger(
cmCPackLog::LOG_ERROR,
"CPACK_EXT_PACKAGE_SCRIPT does not contain a full file path"
"CPACK_EXTERNAL_PACKAGE_SCRIPT does not contain a full file path"
<< std::endl);
return 0;
}
@ -77,12 +77,12 @@ int cmCPackExtGenerator::PackageFiles()
return 1;
}
bool cmCPackExtGenerator::SupportsComponentInstallation() const
bool cmCPackExternalGenerator::SupportsComponentInstallation() const
{
return true;
}
int cmCPackExtGenerator::InstallProjectViaInstallCommands(
int cmCPackExternalGenerator::InstallProjectViaInstallCommands(
bool setDestDir, const std::string& tempInstallDirectory)
{
if (this->StagingEnabled()) {
@ -93,7 +93,7 @@ int cmCPackExtGenerator::InstallProjectViaInstallCommands(
return 1;
}
int cmCPackExtGenerator::InstallProjectViaInstallScript(
int cmCPackExternalGenerator::InstallProjectViaInstallScript(
bool setDestDir, const std::string& tempInstallDirectory)
{
if (this->StagingEnabled()) {
@ -104,7 +104,7 @@ int cmCPackExtGenerator::InstallProjectViaInstallScript(
return 1;
}
int cmCPackExtGenerator::InstallProjectViaInstalledDirectories(
int cmCPackExternalGenerator::InstallProjectViaInstalledDirectories(
bool setDestDir, const std::string& tempInstallDirectory,
const mode_t* default_dir_mode)
{
@ -116,7 +116,7 @@ int cmCPackExtGenerator::InstallProjectViaInstalledDirectories(
return 1;
}
int cmCPackExtGenerator::RunPreinstallTarget(
int cmCPackExternalGenerator::RunPreinstallTarget(
const std::string& installProjectName, const std::string& installDirectory,
cmGlobalGenerator* globalGenerator, const std::string& buildConfig)
{
@ -128,7 +128,7 @@ int cmCPackExtGenerator::RunPreinstallTarget(
return 1;
}
int cmCPackExtGenerator::InstallCMakeProject(
int cmCPackExternalGenerator::InstallCMakeProject(
bool setDestDir, const std::string& installDirectory,
const std::string& baseTempInstallDirectory, const mode_t* default_dir_mode,
const std::string& component, bool componentInstall,
@ -145,18 +145,19 @@ int cmCPackExtGenerator::InstallCMakeProject(
return 1;
}
bool cmCPackExtGenerator::StagingEnabled() const
bool cmCPackExternalGenerator::StagingEnabled() const
{
return !cmSystemTools::IsOff(this->GetOption("CPACK_EXT_ENABLE_STAGING"));
return !cmSystemTools::IsOff(
this->GetOption("CPACK_EXTERNAL_ENABLE_STAGING"));
}
cmCPackExtGenerator::cmCPackExtVersionGenerator::cmCPackExtVersionGenerator(
cmCPackExtGenerator* parent)
cmCPackExternalGenerator::cmCPackExternalVersionGenerator::
cmCPackExternalVersionGenerator(cmCPackExternalGenerator* parent)
: Parent(parent)
{
}
int cmCPackExtGenerator::cmCPackExtVersionGenerator::WriteVersion(
int cmCPackExternalGenerator::cmCPackExternalVersionGenerator::WriteVersion(
Json::Value& root)
{
root["formatVersionMajor"] = this->GetVersionMajor();
@ -165,7 +166,7 @@ int cmCPackExtGenerator::cmCPackExtVersionGenerator::WriteVersion(
return 1;
}
int cmCPackExtGenerator::cmCPackExtVersionGenerator::WriteToJSON(
int cmCPackExternalGenerator::cmCPackExternalVersionGenerator::WriteToJSON(
Json::Value& root)
{
if (!this->WriteVersion(root)) {

View File

@ -1,7 +1,7 @@
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
#ifndef cmCPackExtGenerator_h
#define cmCPackExtGenerator_h
#ifndef cmCPackExternalGenerator_h
#define cmCPackExternalGenerator_h
#include "cmCPackGenerator.h"
#include "cm_sys_stat.h"
@ -14,13 +14,13 @@ namespace Json {
class Value;
}
/** \class cmCPackExtGenerator
/** \class cmCPackExternalGenerator
* \brief A generator for CPack External packaging tools
*/
class cmCPackExtGenerator : public cmCPackGenerator
class cmCPackExternalGenerator : public cmCPackGenerator
{
public:
cmCPackTypeMacro(cmCPackExtGenerator, cmCPackGenerator);
cmCPackTypeMacro(cmCPackExternalGenerator, cmCPackGenerator);
const char* GetOutputExtension() override { return ".json"; }
@ -54,12 +54,12 @@ protected:
private:
bool StagingEnabled() const;
class cmCPackExtVersionGenerator
class cmCPackExternalVersionGenerator
{
public:
cmCPackExtVersionGenerator(cmCPackExtGenerator* parent);
cmCPackExternalVersionGenerator(cmCPackExternalGenerator* parent);
virtual ~cmCPackExtVersionGenerator() = default;
virtual ~cmCPackExternalVersionGenerator() = default;
virtual int WriteToJSON(Json::Value& root);
@ -69,20 +69,21 @@ private:
int WriteVersion(Json::Value& root);
cmCPackExtGenerator* Parent;
cmCPackExternalGenerator* Parent;
};
class cmCPackExtVersion1Generator : public cmCPackExtVersionGenerator
class cmCPackExternalVersion1Generator
: public cmCPackExternalVersionGenerator
{
public:
using cmCPackExtVersionGenerator::cmCPackExtVersionGenerator;
using cmCPackExternalVersionGenerator::cmCPackExternalVersionGenerator;
protected:
int GetVersionMajor() override { return 1; }
int GetVersionMinor() override { return 0; }
};
std::unique_ptr<cmCPackExtVersionGenerator> Generator;
std::unique_ptr<cmCPackExternalVersionGenerator> Generator;
};
#endif

View File

@ -12,7 +12,7 @@
# include "cmCPackFreeBSDGenerator.h"
#endif
#include "cmCPackDebGenerator.h"
#include "cmCPackExtGenerator.h"
#include "cmCPackExternalGenerator.h"
#include "cmCPackGenerator.h"
#include "cmCPackLog.h"
#include "cmCPackNSISGenerator.h"
@ -111,9 +111,9 @@ cmCPackGeneratorFactory::cmCPackGeneratorFactory()
this->RegisterGenerator("NuGet", "NuGet packages",
cmCPackNuGetGenerator::CreateGenerator);
}
if (cmCPackExtGenerator::CanGenerate()) {
this->RegisterGenerator("Ext", "CPack External packages",
cmCPackExtGenerator::CreateGenerator);
if (cmCPackExternalGenerator::CanGenerate()) {
this->RegisterGenerator("External", "CPack External packages",
cmCPackExternalGenerator::CreateGenerator);
}
#ifdef __APPLE__
if (cmCPackDragNDropGenerator::CanGenerate()) {

View File

@ -439,7 +439,7 @@ if("${CMAKE_GENERATOR}" MATCHES "Make|Ninja")
add_RunCMake_test(ctest_labels_for_subprojects)
endif()
add_RunCMake_test_group(CPack "DEB;RPM;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ;Ext")
add_RunCMake_test_group(CPack "DEB;RPM;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ;External")
# add a test to make sure symbols are exported from a shared library
# for MSVC compilers CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS property is used
add_RunCMake_test(AutoExportDll)

View File

@ -18,8 +18,8 @@ run_cpack_test(GENERATE_SHLIBS_LDCONFIG "DEB" true "COMPONENT")
run_cpack_test(INSTALL_SCRIPTS "RPM" false "COMPONENT")
run_cpack_test(LONG_FILENAMES "DEB" false "MONOLITHIC")
run_cpack_test_subtests(MAIN_COMPONENT "invalid;found" "RPM" false "COMPONENT")
run_cpack_test(MINIMAL "RPM;DEB;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ;Ext" false "MONOLITHIC;COMPONENT")
run_cpack_test_package_target(MINIMAL "RPM;DEB;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ;Ext" false "MONOLITHIC;COMPONENT")
run_cpack_test(MINIMAL "RPM;DEB;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ;External" false "MONOLITHIC;COMPONENT")
run_cpack_test_package_target(MINIMAL "RPM;DEB;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ;External" false "MONOLITHIC;COMPONENT")
run_cpack_test_subtests(PACKAGE_CHECKSUM "invalid;MD5;SHA1;SHA224;SHA256;SHA384;SHA512" "TGZ" false "MONOLITHIC")
run_cpack_test(PARTIALLY_RELOCATABLE_WARNING "RPM" false "COMPONENT")
run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false "COMPONENT")
@ -35,4 +35,4 @@ run_cpack_test(USER_FILELIST "RPM" false "MONOLITHIC")
run_cpack_test(MD5SUMS "DEB" false "MONOLITHIC;COMPONENT")
run_cpack_test(CPACK_INSTALL_SCRIPT "ZIP" false "MONOLITHIC")
run_cpack_test(DEB_PACKAGE_VERSION_BACK_COMPATIBILITY "DEB" false "MONOLITHIC;COMPONENT")
run_cpack_test_subtests(EXT "none;good;good_multi;bad_major;bad_minor;invalid_good;invalid_bad;stage_and_package" "Ext" false "MONOLITHIC;COMPONENT")
run_cpack_test_subtests(EXTERNAL "none;good;good_multi;bad_major;bad_minor;invalid_good;invalid_bad;stage_and_package" "External" false "MONOLITHIC;COMPONENT")

View File

@ -1,3 +0,0 @@
if(RunCMake_SUBTEST_SUFFIX MATCHES "^(none|good(_multi)?|invalid_good)")
check_ext_json("${src_dir}/tests/EXT/expected-json-1.0.txt" "${FOUND_FILE_1}")
endif()

View File

@ -1,6 +0,0 @@
CMake Error at .*/Modules/Internal/CPack/CPackExt\.cmake:[0-9]+ \(message\):
Could not find a suitable version in CPACK_EXT_REQUESTED_VERSIONS
CPack Error: Error while executing CPackExt\.cmake
CPack Error: Cannot initialize the generator Ext

View File

@ -1,6 +0,0 @@
CMake Error at .*/Modules/Internal/CPack/CPackExt\.cmake:[0-9]+ \(message\):
Could not find a suitable version in CPACK_EXT_REQUESTED_VERSIONS
CPack Error: Error while executing CPackExt\.cmake
CPack Error: Cannot initialize the generator Ext

View File

@ -1,6 +0,0 @@
CMake Error at .*/Modules/Internal/CPack/CPackExt\.cmake:[0-9]+ \(message\):
Could not find a suitable version in CPACK_EXT_REQUESTED_VERSIONS
CPack Error: Error while executing CPackExt\.cmake
CPack Error: Cannot initialize the generator Ext

View File

@ -0,0 +1,3 @@
if(RunCMake_SUBTEST_SUFFIX MATCHES "^(none|good(_multi)?|invalid_good)")
check_ext_json("${src_dir}/tests/EXTERNAL/expected-json-1.0.txt" "${FOUND_FILE_1}")
endif()

View File

@ -0,0 +1,6 @@
CMake Error at .*/Modules/Internal/CPack/CPackExternal\.cmake:[0-9]+ \(message\):
Could not find a suitable version in CPACK_EXTERNAL_REQUESTED_VERSIONS
CPack Error: Error while executing CPackExternal\.cmake
CPack Error: Cannot initialize the generator External

View File

@ -0,0 +1,6 @@
CMake Error at .*/Modules/Internal/CPack/CPackExternal\.cmake:[0-9]+ \(message\):
Could not find a suitable version in CPACK_EXTERNAL_REQUESTED_VERSIONS
CPack Error: Error while executing CPackExternal\.cmake
CPack Error: Cannot initialize the generator External

View File

@ -150,8 +150,8 @@
\}
\},
"packageDescriptionFile" : ".*/Templates/CPack\.GenericDescription\.txt",
"packageDescriptionSummary" : "EXT-(none|good(_multi)?|invalid_good)-subtest-(MONOLITHIC|COMPONENT)-type built using CMake",
"packageName" : "ext",
"packageDescriptionSummary" : "EXTERNAL-(none|good(_multi)?|invalid_good)-subtest-(MONOLITHIC|COMPONENT)-type built using CMake",
"packageName" : "external",
"packageVersion" : "0\.1\.1",
"projects" :[ ]
\[
@ -164,9 +164,9 @@
"f3",
"f4"
\],
"directory" : ".*/Tests/RunCMake/Ext/CPack/EXT-build-(none|good(_multi)?|invalid_good)-subtest",
"directory" : ".*/Tests/RunCMake/External/CPack/EXTERNAL-build-(none|good(_multi)?|invalid_good)-subtest",
"installationTypes" : \[\],
"projectName" : "EXT-(none|good(_multi)?|invalid_good)-subtest-(MONOLITHIC|COMPONENT)-type",
"projectName" : "EXTERNAL-(none|good(_multi)?|invalid_good)-subtest-(MONOLITHIC|COMPONENT)-type",
"subDirectory" : "/"
\}
\],

View File

@ -0,0 +1,6 @@
CMake Error at .*/Modules/Internal/CPack/CPackExternal\.cmake:[0-9]+ \(message\):
Could not find a suitable version in CPACK_EXTERNAL_REQUESTED_VERSIONS
CPack Error: Error while executing CPackExternal\.cmake
CPack Error: Cannot initialize the generator External

View File

@ -1,22 +1,22 @@
include(CPackComponent)
if(RunCMake_SUBTEST_SUFFIX STREQUAL "none")
unset(CPACK_EXT_REQUESTED_VERSIONS)
unset(CPACK_EXTERNAL_REQUESTED_VERSIONS)
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "good")
set(CPACK_EXT_REQUESTED_VERSIONS "1.0")
set(CPACK_EXTERNAL_REQUESTED_VERSIONS "1.0")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "good_multi")
set(CPACK_EXT_REQUESTED_VERSIONS "1.0;2.0")
set(CPACK_EXTERNAL_REQUESTED_VERSIONS "1.0;2.0")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "bad_major")
set(CPACK_EXT_REQUESTED_VERSIONS "2.0")
set(CPACK_EXTERNAL_REQUESTED_VERSIONS "2.0")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "bad_minor")
set(CPACK_EXT_REQUESTED_VERSIONS "1.1")
set(CPACK_EXTERNAL_REQUESTED_VERSIONS "1.1")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "invalid_good")
set(CPACK_EXT_REQUESTED_VERSIONS "1;1.0")
set(CPACK_EXTERNAL_REQUESTED_VERSIONS "1;1.0")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "invalid_bad")
set(CPACK_EXT_REQUESTED_VERSIONS "1")
set(CPACK_EXTERNAL_REQUESTED_VERSIONS "1")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "stage_and_package")
set(CPACK_EXT_ENABLE_STAGING 1)
set(CPACK_EXT_PACKAGE_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/create_package.cmake")
set(CPACK_EXTERNAL_ENABLE_STAGING 1)
set(CPACK_EXTERNAL_PACKAGE_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/create_package.cmake")
endif()
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/f1.txt" test1)