diff options
author | Brad King <brad.king@kitware.com> | 2020-10-27 10:59:50 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-10-27 10:59:57 (GMT) |
commit | 374cca779baa2584bc071e4dca9a5d31d62cc331 (patch) | |
tree | 02b30e7d14f767c28e0ef69af3351f343d7bf8c9 | |
parent | 9fa7afe7d332ced27264f1ef7c921aa1d95bc476 (diff) | |
parent | b8937a992b956b16a9181737f695ca118c5eea49 (diff) | |
download | CMake-374cca779baa2584bc071e4dca9a5d31d62cc331.zip CMake-374cca779baa2584bc071e4dca9a5d31d62cc331.tar.gz CMake-374cca779baa2584bc071e4dca9a5d31d62cc331.tar.bz2 |
Merge topic 'ninja-multi-per-config-sources' into release-3.19
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
-rw-r--r-- | Source/cmGlobalNinjaGenerator.cxx | 4 | ||||
-rw-r--r-- | Tests/RunCMake/NinjaMultiConfig/PerConfigSources.cmake | 8 | ||||
-rw-r--r-- | Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake | 4 |
3 files changed, 15 insertions, 1 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 985f430..8c194fd 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -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) { diff --git a/Tests/RunCMake/NinjaMultiConfig/PerConfigSources.cmake b/Tests/RunCMake/NinjaMultiConfig/PerConfigSources.cmake new file mode 100644 index 0000000..7483130 --- /dev/null +++ b/Tests/RunCMake/NinjaMultiConfig/PerConfigSources.cmake @@ -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") diff --git a/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake b/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake index ec8804b..6699a09 100644 --- a/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake +++ b/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake @@ -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) |