Merge topic 'ninja-multi-per-config-sources'

b8937a992b Merge branch 'release' into ninja-multi-per-config-sources
d13bd6ec3d Ninja Multi-Config: Don't try to calculate dependencies for "all"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !5430
This commit is contained in:
Brad King
2020-10-27 10:59:50 +00:00
committed by Kitware Robot
3 changed files with 15 additions and 1 deletions

View File

@@ -1253,7 +1253,9 @@ void cmGlobalNinjaGenerator::AddTargetAlias(const std::string& alias,
std::string outputPath = this->NinjaOutputPath(alias);
std::string buildAlias = this->BuildAlias(outputPath, config);
cmNinjaDeps outputs;
this->AppendTargetOutputs(target, outputs, config, DependOnTargetArtifact);
if (config != "all") {
this->AppendTargetOutputs(target, outputs, config, DependOnTargetArtifact);
}
// Mark the target's outputs as ambiguous to ensure that no other target
// uses the output as an alias.
for (std::string const& output : outputs) {

View File

@@ -0,0 +1,8 @@
enable_language(C)
file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/main_$<CONFIG>.c" CONTENT
[[int main(void)
{
return 0;
}
]])
add_executable(exe "${CMAKE_BINARY_DIR}/main_$<CONFIG>.c")

View File

@@ -246,6 +246,10 @@ unset(RunCMake_TEST_BINARY_DIR)
run_cmake(CustomCommandDepfile)
set(RunCMake_TEST_OPTIONS "-DCMAKE_CROSS_CONFIGS=all")
run_cmake(PerConfigSources)
unset(RunCMake_TEST_OPTIONS)
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/PostfixAndLocation-build)
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release;-DCMAKE_CROSS_CONFIGS=all")
run_cmake_configure(PostfixAndLocation)