diff options
author | Brad King <brad.king@kitware.com> | 2021-01-26 14:09:13 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-01-26 14:09:18 (GMT) |
commit | 1380e611e1248c7bfe3889a4f00840c1a5a41d03 (patch) | |
tree | 3051b43b9a475107a028e789082882ac952b0c27 | |
parent | bd29de1a9147a575454a73f673bc1a90d842d725 (diff) | |
parent | ccbedb80e42e799209f2536ec2fdbecf1b108483 (diff) | |
download | CMake-1380e611e1248c7bfe3889a4f00840c1a5a41d03.zip CMake-1380e611e1248c7bfe3889a4f00840c1a5a41d03.tar.gz CMake-1380e611e1248c7bfe3889a4f00840c1a5a41d03.tar.bz2 |
Merge topic 'nmc-cache-targets'
ccbedb80e4 Ninja Multi-Config: Restore rebuild_cache and edit_cache targets
6fdbe9201f cmNinjaUtilityTargetGenerator: Remove leftover development comment
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5740
5 files changed, 17 insertions, 2 deletions
diff --git a/Source/cmNinjaUtilityTargetGenerator.cxx b/Source/cmNinjaUtilityTargetGenerator.cxx index 3995624..a18ca20 100644 --- a/Source/cmNinjaUtilityTargetGenerator.cxx +++ b/Source/cmNinjaUtilityTargetGenerator.cxx @@ -35,6 +35,11 @@ cmNinjaUtilityTargetGenerator::~cmNinjaUtilityTargetGenerator() = default; void cmNinjaUtilityTargetGenerator::Generate(const std::string& config) { + if (!this->GetGeneratorTarget()->Target->IsPerConfig()) { + this->WriteUtilBuildStatements(config, config); + return; + } + for (auto const& fileConfig : this->GetConfigNames()) { if (!this->GetGlobalGenerator() ->GetCrossConfigs(fileConfig) @@ -122,8 +127,6 @@ void cmNinjaUtilityTargetGenerator::WriteUtilBuildStatements( std::copy(util_outputs.begin(), util_outputs.end(), std::back_inserter(gg->GetByproductsForCleanTarget())); } - // TODO: Does this need an output config? - // Does this need to go in impl-<config>.ninja? lg->AppendTargetDepends(genTarget, deps, config, fileConfig, DependOnTargetArtifact); diff --git a/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake b/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake index 480d628..21c2658 100644 --- a/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake +++ b/Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake @@ -85,6 +85,9 @@ set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=RelWithDebInfo\\;Debug\\; run_cmake_configure(Simple) unset(RunCMake_TEST_OPTIONS) include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake) +run_ninja(Simple targets-default build.ninja -t targets) +run_ninja(Simple targets-debug build-Debug.ninja -t targets) +run_ninja(Simple targets-release build-Debug.ninja -t targets) run_cmake_build(Simple debug-target Debug simpleexe) run_ninja(Simple debug-target build-Debug.ninja simplestatic) get_filename_component(simpleshared_Release "${TARGET_FILE_simpleshared_Release}" NAME) diff --git a/Tests/RunCMake/NinjaMultiConfig/Simple-targets-debug-ninja-stdout.txt b/Tests/RunCMake/NinjaMultiConfig/Simple-targets-debug-ninja-stdout.txt new file mode 100644 index 0000000..f72516f --- /dev/null +++ b/Tests/RunCMake/NinjaMultiConfig/Simple-targets-debug-ninja-stdout.txt @@ -0,0 +1,3 @@ +(rebuild_cache: phony.* +edit_cache: phony|edit_cache: phony.* +rebuild_cache: phony) diff --git a/Tests/RunCMake/NinjaMultiConfig/Simple-targets-default-ninja-stdout.txt b/Tests/RunCMake/NinjaMultiConfig/Simple-targets-default-ninja-stdout.txt new file mode 100644 index 0000000..f72516f --- /dev/null +++ b/Tests/RunCMake/NinjaMultiConfig/Simple-targets-default-ninja-stdout.txt @@ -0,0 +1,3 @@ +(rebuild_cache: phony.* +edit_cache: phony|edit_cache: phony.* +rebuild_cache: phony) diff --git a/Tests/RunCMake/NinjaMultiConfig/Simple-targets-release-ninja-stdout.txt b/Tests/RunCMake/NinjaMultiConfig/Simple-targets-release-ninja-stdout.txt new file mode 100644 index 0000000..f72516f --- /dev/null +++ b/Tests/RunCMake/NinjaMultiConfig/Simple-targets-release-ninja-stdout.txt @@ -0,0 +1,3 @@ +(rebuild_cache: phony.* +edit_cache: phony|edit_cache: phony.* +rebuild_cache: phony) |