mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-23 06:47:08 -05:00
Merge topic 'ninja-multi-variable-shuffle-again'
c794b70f19Ninja Multi-Config: Always generate build.ninja9590c3a400Generator: Don't allow Ninja Multi-Config variables on other generators7a63dafafbNinja Multi-Config: Remove "NMC" from variable names Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4403
This commit is contained in:
@@ -12,9 +12,10 @@ multiple configurations at once with :variable:`CMAKE_CONFIGURATION_TYPES`
|
||||
instead of only one configuration with :variable:`CMAKE_BUILD_TYPE`. One
|
||||
``build-<Config>.ninja`` file will be generated for each of these
|
||||
configurations (with ``<Config>`` being the configuration name.) These files
|
||||
are intended to be run with ``ninja -f build-<Config>.ninja``. No
|
||||
``build.ninja`` file is generated by default (see below for how to generate
|
||||
it.)
|
||||
are intended to be run with ``ninja -f build-<Config>.ninja``. A
|
||||
``build.ninja`` file is also generated, using the configuration from either
|
||||
:variable:`CMAKE_DEFAULT_BUILD_TYPE` or the first item from
|
||||
:variable:`CMAKE_CONFIGURATION_TYPES`.
|
||||
|
||||
``cmake --build . --config <Config>`` will always use ``build-<Config>.ninja``
|
||||
to build. If no ``--config`` argument is specified, ``cmake --build .`` will
|
||||
@@ -35,7 +36,7 @@ The ``Ninja Multi-Config`` generator recognizes the following variables:
|
||||
Specifies the total set of configurations to build. See the variable's
|
||||
documentation for more information.
|
||||
|
||||
:variable:`CMAKE_NMC_CROSS_CONFIGS`
|
||||
:variable:`CMAKE_CROSS_CONFIGS`
|
||||
Specifies a :ref:`semicolon-separated list <CMake Language Lists>` of
|
||||
configurations available from all ``build-<Config>.ninja`` files.
|
||||
This variable activates cross-config mode.
|
||||
@@ -49,36 +50,36 @@ The ``Ninja Multi-Config`` generator recognizes the following variables:
|
||||
The value of this variable must be a subset of
|
||||
:variable:`CMAKE_CONFIGURATION_TYPES`.
|
||||
|
||||
:variable:`CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG`
|
||||
:variable:`CMAKE_DEFAULT_BUILD_TYPE`
|
||||
Specifies the configuration to use by default in a ``build.ninja`` file. If
|
||||
this variable is specified, a ``build.ninja`` file is generated which uses
|
||||
build rules from ``build-<Config>.ninja`` by default. All custom commands are
|
||||
executed with this configuration. If the variable is not specified, no
|
||||
``build.ninja`` file is generated.
|
||||
this variable is specified, ``build.ninja`` uses build rules from
|
||||
``build-<Config>.ninja`` by default. All custom commands are executed with
|
||||
this configuration. If the variable is not specified, the first item from
|
||||
:variable:`CMAKE_CONFIGURATION_TYPES` is used instead.
|
||||
|
||||
The value of this variable must be one of the items from
|
||||
:variable:`CMAKE_CONFIGURATION_TYPES`.
|
||||
|
||||
:variable:`CMAKE_NMC_DEFAULT_CONFIGS`
|
||||
:variable:`CMAKE_DEFAULT_CONFIGS`
|
||||
Specifies a :ref:`semicolon-separated list <CMake Language Lists>` of
|
||||
configurations to build for a target in ``build.ninja``
|
||||
if no ``:<Config>`` suffix is specified. If it is set to ``all``, all
|
||||
configurations from :variable:`CMAKE_NMC_CROSS_CONFIGS` are used. If
|
||||
configurations from :variable:`CMAKE_CROSS_CONFIGS` are used. If
|
||||
it is not specified, it defaults to
|
||||
:variable:`CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG`.
|
||||
:variable:`CMAKE_DEFAULT_BUILD_TYPE`.
|
||||
|
||||
For example, if you set
|
||||
:variable:`CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG` to ``Release``, but
|
||||
set :variable:`CMAKE_NMC_DEFAULT_CONFIGS` to ``Debug`` or ``all``,
|
||||
:variable:`CMAKE_DEFAULT_BUILD_TYPE` to ``Release``, but
|
||||
set :variable:`CMAKE_DEFAULT_CONFIGS` to ``Debug`` or ``all``,
|
||||
all ``<target>`` aliases in ``build.ninja`` will resolve to
|
||||
``<target>:Debug`` or ``<target>:all``, but custom commands will still use
|
||||
the ``Release`` configuration.
|
||||
|
||||
The value of this variable must be a subset of
|
||||
:variable:`CMAKE_NMC_CROSS_CONFIGS` or be the same as
|
||||
:variable:`CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG`. It must not be
|
||||
specified if :variable:`CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG` or
|
||||
:variable:`CMAKE_NMC_CROSS_CONFIGS` is not used.
|
||||
:variable:`CMAKE_CROSS_CONFIGS` or be the same as
|
||||
:variable:`CMAKE_DEFAULT_BUILD_TYPE`. It must not be
|
||||
specified if :variable:`CMAKE_DEFAULT_BUILD_TYPE` or
|
||||
:variable:`CMAKE_CROSS_CONFIGS` is not used.
|
||||
|
||||
Consider the following example:
|
||||
|
||||
@@ -104,8 +105,8 @@ This would build the ``Debug`` configuration of ``generator``, which would be
|
||||
used to generate ``generated.c``, which would be used to build the ``Debug``
|
||||
configuration of ``generated``.
|
||||
|
||||
But if :variable:`CMAKE_NMC_CROSS_CONFIGS` is set to ``all``, and you
|
||||
run the following instead:
|
||||
But if :variable:`CMAKE_CROSS_CONFIGS` is set to ``all``, and you run the
|
||||
following instead:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
|
||||
@@ -372,11 +372,14 @@ Variables that Control the Build
|
||||
/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
|
||||
/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG
|
||||
/variable/CMAKE_CONFIG_POSTFIX
|
||||
/variable/CMAKE_CROSS_CONFIGS
|
||||
/variable/CMAKE_CTEST_ARGUMENTS
|
||||
/variable/CMAKE_CUDA_SEPARABLE_COMPILATION
|
||||
/variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
|
||||
/variable/CMAKE_CUDA_RUNTIME_LIBRARY
|
||||
/variable/CMAKE_DEBUG_POSTFIX
|
||||
/variable/CMAKE_DEFAULT_BUILD_TYPE
|
||||
/variable/CMAKE_DEFAULT_CONFIGS
|
||||
/variable/CMAKE_DISABLE_PRECOMPILE_HEADERS
|
||||
/variable/CMAKE_ENABLE_EXPORTS
|
||||
/variable/CMAKE_EXE_LINKER_FLAGS
|
||||
@@ -428,9 +431,6 @@ Variables that Control the Build
|
||||
/variable/CMAKE_MODULE_LINKER_FLAGS_INIT
|
||||
/variable/CMAKE_MSVCIDE_RUN_PATH
|
||||
/variable/CMAKE_MSVC_RUNTIME_LIBRARY
|
||||
/variable/CMAKE_NMC_CROSS_CONFIGS
|
||||
/variable/CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG
|
||||
/variable/CMAKE_NMC_DEFAULT_CONFIGS
|
||||
/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX
|
||||
/variable/CMAKE_NO_BUILTIN_CHRPATH
|
||||
/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
CMAKE_NMC_CROSS_CONFIGS
|
||||
-------------------------------
|
||||
CMAKE_CROSS_CONFIGS
|
||||
-------------------
|
||||
|
||||
Specifies a :ref:`semicolon-separated list <CMake Language Lists>` of
|
||||
configurations available from all ``build-<Config>.ninja`` files in the
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG
|
||||
-------------------------------------------
|
||||
CMAKE_DEFAULT_BUILD_TYPE
|
||||
------------------------
|
||||
|
||||
Specifies the configuration to use by default in a ``build.ninja`` file in the
|
||||
:generator:`Ninja Multi-Config` generator. See the generator's documentation
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
CMAKE_NMC_DEFAULT_CONFIGS
|
||||
---------------------------------
|
||||
CMAKE_DEFAULT_CONFIGS
|
||||
---------------------
|
||||
|
||||
Specifies a :ref:`semicolon-separated list <CMake Language Lists>` of configurations
|
||||
to build for a target in ``build.ninja`` if no ``:<Config>`` suffix is specified in
|
||||
@@ -1361,8 +1361,43 @@ void cmGlobalGenerator::ComputeBuildFileGenerators()
|
||||
}
|
||||
}
|
||||
|
||||
bool cmGlobalGenerator::UnsupportedVariableIsDefined(const std::string& name,
|
||||
bool supported) const
|
||||
{
|
||||
if (!supported && this->Makefiles.front()->GetDefinition(name)) {
|
||||
std::ostringstream e;
|
||||
/* clang-format off */
|
||||
e <<
|
||||
"Generator\n"
|
||||
" " << this->GetName() << "\n"
|
||||
"does not support variable\n"
|
||||
" " << name << "\n"
|
||||
"but it has been specified."
|
||||
;
|
||||
/* clang-format on */
|
||||
this->GetCMakeInstance()->IssueMessage(MessageType::FATAL_ERROR, e.str());
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool cmGlobalGenerator::Compute()
|
||||
{
|
||||
// Make sure unsupported variables are not used.
|
||||
if (this->UnsupportedVariableIsDefined("CMAKE_DEFAULT_BUILD_TYPE",
|
||||
this->SupportsDefaultBuildType())) {
|
||||
return false;
|
||||
}
|
||||
if (this->UnsupportedVariableIsDefined("CMAKE_CROSS_CONFIGS",
|
||||
this->SupportsCrossConfigs())) {
|
||||
return false;
|
||||
}
|
||||
if (this->UnsupportedVariableIsDefined("CMAKE_DEFAULT_CONFIGS",
|
||||
this->SupportsDefaultConfigs())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Some generators track files replaced during the Generate.
|
||||
// Start with an empty vector:
|
||||
this->FilesReplacedDuringGenerate.clear();
|
||||
|
||||
@@ -455,6 +455,10 @@ public:
|
||||
/** Generate an <output>.rule file path for a given command output. */
|
||||
virtual std::string GenerateRuleFile(std::string const& output) const;
|
||||
|
||||
virtual bool SupportsDefaultBuildType() const { return false; }
|
||||
virtual bool SupportsCrossConfigs() const { return false; }
|
||||
virtual bool SupportsDefaultConfigs() const { return false; }
|
||||
|
||||
static std::string EscapeJSON(const std::string& s);
|
||||
|
||||
void ProcessEvaluationFiles();
|
||||
@@ -674,6 +678,9 @@ private:
|
||||
|
||||
virtual const char* GetBuildIgnoreErrorsFlag() const { return nullptr; }
|
||||
|
||||
bool UnsupportedVariableIsDefined(const std::string& name,
|
||||
bool supported) const;
|
||||
|
||||
// Cache directory content and target files to be built.
|
||||
struct DirectoryContent
|
||||
{
|
||||
|
||||
@@ -2490,8 +2490,7 @@ bool cmGlobalNinjaMultiGenerator::OpenBuildFileStreams()
|
||||
return false;
|
||||
}
|
||||
*this->DefaultFileStream
|
||||
<< "# This file is a convenience file generated by\n"
|
||||
<< "# CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG.\n\n"
|
||||
<< "# Build using rules for '" << this->DefaultFileConfig << "'.\n\n"
|
||||
<< "include " << GetNinjaImplFilename(this->DefaultFileConfig) << "\n\n";
|
||||
}
|
||||
|
||||
@@ -2608,9 +2607,6 @@ bool cmGlobalNinjaMultiGenerator::InspectConfigTypeVariables()
|
||||
|
||||
std::string cmGlobalNinjaMultiGenerator::GetDefaultBuildConfig() const
|
||||
{
|
||||
if (this->DefaultFileConfig.empty()) {
|
||||
return "Debug";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -2626,12 +2622,14 @@ bool cmGlobalNinjaMultiGenerator::ReadCacheEntriesForBuild(
|
||||
std::set<std::string> configs(configsVec.cbegin(), configsVec.cend());
|
||||
|
||||
this->DefaultFileConfig =
|
||||
state.GetSafeCacheEntryValue("CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG");
|
||||
if (!this->DefaultFileConfig.empty() &&
|
||||
!configs.count(this->DefaultFileConfig)) {
|
||||
state.GetSafeCacheEntryValue("CMAKE_DEFAULT_BUILD_TYPE");
|
||||
if (this->DefaultFileConfig.empty()) {
|
||||
this->DefaultFileConfig = configsVec.front();
|
||||
}
|
||||
if (!configs.count(this->DefaultFileConfig)) {
|
||||
std::ostringstream msg;
|
||||
msg << "The configuration specified by "
|
||||
<< "CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG (" << this->DefaultFileConfig
|
||||
<< "CMAKE_DEFAULT_BUILD_TYPE (" << this->DefaultFileConfig
|
||||
<< ") is not present in CMAKE_CONFIGURATION_TYPES";
|
||||
this->GetCMakeInstance()->IssueMessage(MessageType::FATAL_ERROR,
|
||||
msg.str());
|
||||
@@ -2639,12 +2637,12 @@ bool cmGlobalNinjaMultiGenerator::ReadCacheEntriesForBuild(
|
||||
}
|
||||
|
||||
std::vector<std::string> crossConfigsVec;
|
||||
cmExpandList(state.GetSafeCacheEntryValue("CMAKE_NMC_CROSS_CONFIGS"),
|
||||
cmExpandList(state.GetSafeCacheEntryValue("CMAKE_CROSS_CONFIGS"),
|
||||
crossConfigsVec);
|
||||
auto crossConfigs = ListSubsetWithAll(configs, configs, crossConfigsVec);
|
||||
if (!crossConfigs) {
|
||||
std::ostringstream msg;
|
||||
msg << "CMAKE_NMC_CROSS_CONFIGS is not a subset of "
|
||||
msg << "CMAKE_CROSS_CONFIGS is not a subset of "
|
||||
<< "CMAKE_CONFIGURATION_TYPES";
|
||||
this->GetCMakeInstance()->IssueMessage(MessageType::FATAL_ERROR,
|
||||
msg.str());
|
||||
@@ -2653,7 +2651,7 @@ bool cmGlobalNinjaMultiGenerator::ReadCacheEntriesForBuild(
|
||||
this->CrossConfigs = *crossConfigs;
|
||||
|
||||
auto defaultConfigsString =
|
||||
state.GetSafeCacheEntryValue("CMAKE_NMC_DEFAULT_CONFIGS");
|
||||
state.GetSafeCacheEntryValue("CMAKE_DEFAULT_CONFIGS");
|
||||
if (defaultConfigsString.empty()) {
|
||||
defaultConfigsString = this->DefaultFileConfig;
|
||||
}
|
||||
@@ -2661,9 +2659,8 @@ bool cmGlobalNinjaMultiGenerator::ReadCacheEntriesForBuild(
|
||||
defaultConfigsString != this->DefaultFileConfig &&
|
||||
(this->DefaultFileConfig.empty() || this->CrossConfigs.empty())) {
|
||||
std::ostringstream msg;
|
||||
msg << "CMAKE_NMC_DEFAULT_CONFIGS cannot be used without "
|
||||
<< "CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG or "
|
||||
<< "CMAKE_NMC_CROSS_CONFIGS";
|
||||
msg << "CMAKE_DEFAULT_CONFIGS cannot be used without "
|
||||
<< "CMAKE_DEFAULT_BUILD_TYPE or CMAKE_CROSS_CONFIGS";
|
||||
this->GetCMakeInstance()->IssueMessage(MessageType::FATAL_ERROR,
|
||||
msg.str());
|
||||
return false;
|
||||
@@ -2677,8 +2674,7 @@ bool cmGlobalNinjaMultiGenerator::ReadCacheEntriesForBuild(
|
||||
this->CrossConfigs, defaultConfigsVec);
|
||||
if (!defaultConfigs) {
|
||||
std::ostringstream msg;
|
||||
msg << "CMAKE_NMC_DEFAULT_CONFIGS is not a subset of "
|
||||
<< "CMAKE_NMC_CROSS_CONFIGS";
|
||||
msg << "CMAKE_DEFAULT_CONFIGS is not a subset of CMAKE_CROSS_CONFIGS";
|
||||
this->GetCMakeInstance()->IssueMessage(MessageType::FATAL_ERROR,
|
||||
msg.str());
|
||||
return false;
|
||||
|
||||
@@ -640,6 +640,10 @@ public:
|
||||
|
||||
bool ReadCacheEntriesForBuild(const cmState& state) override;
|
||||
|
||||
bool SupportsDefaultBuildType() const override { return true; }
|
||||
bool SupportsCrossConfigs() const override { return true; }
|
||||
bool SupportsDefaultConfigs() const override { return true; }
|
||||
|
||||
protected:
|
||||
bool OpenBuildFileStreams() override;
|
||||
void CloseBuildFileStreams() override;
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
^CMake Error:
|
||||
Generator
|
||||
|
||||
[^
|
||||
]*
|
||||
|
||||
does not support variable
|
||||
|
||||
CMAKE_CROSS_CONFIGS
|
||||
|
||||
but it has been specified.
|
||||
@@ -0,0 +1 @@
|
||||
set(CMAKE_CROSS_CONFIGS "")
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,11 @@
|
||||
^CMake Error:
|
||||
Generator
|
||||
|
||||
[^
|
||||
]*
|
||||
|
||||
does not support variable
|
||||
|
||||
CMAKE_DEFAULT_BUILD_TYPE
|
||||
|
||||
but it has been specified.
|
||||
@@ -0,0 +1 @@
|
||||
set(CMAKE_DEFAULT_BUILD_TYPE "")
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,11 @@
|
||||
^CMake Error:
|
||||
Generator
|
||||
|
||||
[^
|
||||
]*
|
||||
|
||||
does not support variable
|
||||
|
||||
CMAKE_DEFAULT_CONFIGS
|
||||
|
||||
but it has been specified.
|
||||
@@ -0,0 +1 @@
|
||||
set(CMAKE_DEFAULT_CONFIGS "")
|
||||
@@ -50,3 +50,9 @@ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
||||
run_cmake(RemoveCache)
|
||||
file(REMOVE "${RunCMake_TEST_BINARY_DIR}/CMakeCache.txt")
|
||||
run_cmake(RemoveCache)
|
||||
|
||||
if(NOT RunCMake_GENERATOR MATCHES "^Ninja Multi-Config$")
|
||||
run_cmake(NoCMAKE_CROSS_CONFIGS)
|
||||
run_cmake(NoCMAKE_DEFAULT_BUILD_TYPE)
|
||||
run_cmake(NoCMAKE_DEFAULT_CONFIGS)
|
||||
endif()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
^CMake Error:
|
||||
CMAKE_NMC_CROSS_CONFIGS is not a subset of CMAKE_CONFIGURATION_TYPES
|
||||
CMAKE_CROSS_CONFIGS is not a subset of CMAKE_CONFIGURATION_TYPES
|
||||
|
||||
|
||||
CMake Generate step failed\. Build files cannot be regenerated correctly\.$
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
^CMake Error:
|
||||
The configuration specified by CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG
|
||||
\(RelWithDebInfo\) is not present in CMAKE_CONFIGURATION_TYPES
|
||||
The configuration specified by CMAKE_DEFAULT_BUILD_TYPE \(RelWithDebInfo\) is
|
||||
not present in CMAKE_CONFIGURATION_TYPES
|
||||
|
||||
|
||||
CMake Generate step failed\. Build files cannot be regenerated correctly\.$
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
^CMake Error:
|
||||
CMAKE_NMC_DEFAULT_CONFIGS is not a subset of CMAKE_NMC_CROSS_CONFIGS
|
||||
CMAKE_DEFAULT_CONFIGS is not a subset of CMAKE_CROSS_CONFIGS
|
||||
|
||||
|
||||
CMake Generate step failed\. Build files cannot be regenerated correctly\.$
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
^CMake Error:
|
||||
CMAKE_NMC_DEFAULT_CONFIGS cannot be used without
|
||||
CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG or CMAKE_NMC_CROSS_CONFIGS
|
||||
CMAKE_DEFAULT_CONFIGS cannot be used without CMAKE_DEFAULT_BUILD_TYPE or
|
||||
CMAKE_CROSS_CONFIGS
|
||||
|
||||
|
||||
CMake Generate step failed\. Build files cannot be regenerated correctly\.$
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
^CMake Error:
|
||||
CMAKE_NMC_DEFAULT_CONFIGS cannot be used without
|
||||
CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG or CMAKE_NMC_CROSS_CONFIGS
|
||||
|
||||
|
||||
CMake Generate step failed\. Build files cannot be regenerated correctly\.$
|
||||
@@ -81,7 +81,9 @@ endfunction()
|
||||
set(RunCMake_TEST_NO_CLEAN 1)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/Simple-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release\\;MinSizeRel\\;RelWithDebInfo;-DCMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG=RelWithDebInfo;-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
# IMPORTANT: Setting RelWithDebInfo as the first item in CMAKE_CONFIGURATION_TYPES
|
||||
# generates a build.ninja file with that configuration
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=RelWithDebInfo\\;Debug\\;Release\\;MinSizeRel;-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(Simple)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
@@ -113,7 +115,7 @@ run_ninja(Simple default-build-file-clean-minsizerel build.ninja clean:MinSizeRe
|
||||
run_ninja(Simple default-build-file-all build.ninja all)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SimpleDefaultBuildAlias-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release\\;MinSizeRel\\;RelWithDebInfo;-DCMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG=Release;-DCMAKE_NMC_DEFAULT_CONFIGS=all;-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release\\;MinSizeRel\\;RelWithDebInfo;-DCMAKE_DEFAULT_BUILD_TYPE=Release;-DCMAKE_DEFAULT_CONFIGS=all;-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(SimpleDefaultBuildAlias)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
@@ -122,7 +124,7 @@ run_ninja(SimpleDefaultBuildAlias all build.ninja all)
|
||||
run_ninja(SimpleDefaultBuildAlias clean build.ninja clean)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SimpleDefaultBuildAliasList-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG=Release;-DCMAKE_NMC_DEFAULT_CONFIGS=Debug\\;Release;-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_DEFAULT_BUILD_TYPE=Release;-DCMAKE_DEFAULT_CONFIGS=Debug\\;Release;-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(SimpleDefaultBuildAliasList)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
@@ -133,7 +135,7 @@ run_ninja(SimpleDefaultBuildAliasList all-relwithdebinfo build.ninja all:RelWith
|
||||
run_ninja(SimpleDefaultBuildAliasList clean-configs build.ninja clean)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SimpleDefaultBuildAliasListCross-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG=RelWithDebInfo;-DCMAKE_NMC_DEFAULT_CONFIGS=all;-DCMAKE_NMC_CROSS_CONFIGS=Debug\\;Release")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_DEFAULT_BUILD_TYPE=RelWithDebInfo;-DCMAKE_DEFAULT_CONFIGS=all;-DCMAKE_CROSS_CONFIGS=Debug\\;Release")
|
||||
run_cmake_configure(SimpleDefaultBuildAliasListCross)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
@@ -141,27 +143,23 @@ run_ninja(SimpleDefaultBuildAliasListCross target-configs build.ninja simpleexe)
|
||||
|
||||
unset(RunCMake_TEST_BINARY_DIR)
|
||||
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release;-DCMAKE_NMC_CROSS_CONFIGS=Debug\\;Release\\;RelWithDebInfo")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release;-DCMAKE_CROSS_CONFIGS=Debug\\;Release\\;RelWithDebInfo")
|
||||
run_cmake(InvalidCrossConfigs)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release;-DCMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG=RelWithDebInfo")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release;-DCMAKE_DEFAULT_BUILD_TYPE=RelWithDebInfo")
|
||||
run_cmake(InvalidDefaultBuildFileConfig)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_CROSS_CONFIGS=Debug\\;Release;-DCMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG=Release;-DCMAKE_NMC_DEFAULT_CONFIGS=Debug\\;Release\\;RelWithDebInfo")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CROSS_CONFIGS=Debug\\;Release;-DCMAKE_DEFAULT_BUILD_TYPE=Release;-DCMAKE_DEFAULT_CONFIGS=Debug\\;Release\\;RelWithDebInfo")
|
||||
run_cmake(InvalidDefaultConfigsCross)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_CROSS_CONFIGS=Debug\\;Release;-DCMAKE_NMC_DEFAULT_CONFIGS=all")
|
||||
run_cmake(InvalidDefaultConfigsNoDefaultFile)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG=Release;-DCMAKE_NMC_DEFAULT_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_DEFAULT_BUILD_TYPE=Release;-DCMAKE_DEFAULT_CONFIGS=all")
|
||||
run_cmake(InvalidDefaultConfigsNoCross)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG=Release")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_DEFAULT_BUILD_TYPE=Release")
|
||||
run_cmake(DefaultBuildFileConfig)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
|
||||
@@ -178,7 +176,7 @@ run_ninja(SimpleNoCross all-all build-Debug.ninja all:all)
|
||||
run_cmake_build(SimpleNoCross all-clean Debug clean:all)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SimpleCrossConfigs-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_CROSS_CONFIGS=Debug\\;Release")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CROSS_CONFIGS=Debug\\;Release")
|
||||
run_cmake_configure(SimpleCrossConfigs)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
run_ninja(SimpleCrossConfigs release-in-release-graph build-Release.ninja simpleexe)
|
||||
@@ -192,21 +190,21 @@ run_cmake_build(SimpleCrossConfigs all-all-in-release-graph Release all:all)
|
||||
run_cmake_build(SimpleCrossConfigs all-relwithdebinfo-in-release-graph Release all:RelWithDebInfo)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/Framework-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(Framework)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
run_cmake_build(Framework framework Debug all)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/FrameworkDependencyAutogen-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(FrameworkDependencyAutogen)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
run_cmake_build(FrameworkDependencyAutogen framework Release test2:Debug)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CustomCommandGenerator-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release\\;MinSizeRel\\;RelWithDebInfo;-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release\\;MinSizeRel\\;RelWithDebInfo;-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(CustomCommandGenerator)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
@@ -223,7 +221,7 @@ run_ninja(CustomCommandGenerator release-in-debug-graph build-Debug.ninja genera
|
||||
run_cmake_command(CustomCommandGenerator-release-in-debug-graph-generated "${TARGET_FILE_generated_Release}")
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CustomCommandsAndTargets-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(CustomCommandsAndTargets)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
@@ -243,7 +241,7 @@ unset(RunCMake_TEST_BINARY_DIR)
|
||||
run_cmake(CustomCommandDepfile)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/PostfixAndLocation-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release;-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release;-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(PostfixAndLocation)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
@@ -258,14 +256,14 @@ run_ninja(Clean release-notall build-Release.ninja exenotall)
|
||||
run_cmake_build(Clean release-clean Release clean)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/AdditionalCleanFiles-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release\\;MinSizeRel\\;RelWithDebInfo;-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release\\;MinSizeRel\\;RelWithDebInfo;-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(AdditionalCleanFiles)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
run_cmake_build(AdditionalCleanFiles release-clean Release clean)
|
||||
run_ninja(AdditionalCleanFiles all-clean build-Debug.ninja clean:all)
|
||||
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/Install-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_INSTALL_PREFIX=${RunCMake_TEST_BINARY_DIR}/install;-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_INSTALL_PREFIX=${RunCMake_TEST_BINARY_DIR}/install;-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(Install)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
@@ -287,7 +285,7 @@ endif()
|
||||
|
||||
if(CMake_TEST_Qt5)
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/Qt5-build)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_NMC_CROSS_CONFIGS=all")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CROSS_CONFIGS=all")
|
||||
run_cmake_configure(Qt5)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)
|
||||
|
||||
Reference in New Issue
Block a user