diff options
author | Marc Chevrier <marc.chevrier@gmail.com> | 2022-01-16 13:04:05 (GMT) |
---|---|---|
committer | Marc Chevrier <marc.chevrier@gmail.com> | 2022-01-16 15:21:12 (GMT) |
commit | 0b65a2b2531b05abe1bc1f1950bb963af7a6d42f (patch) | |
tree | f030499394a3dd427ff56f1d30424307254ef705 /Source/cmDependsCompiler.cxx | |
parent | e04a352cca523eba2ac0d60063a3799f5bb1c69e (diff) | |
download | CMake-0b65a2b2531b05abe1bc1f1950bb963af7a6d42f.zip CMake-0b65a2b2531b05abe1bc1f1950bb963af7a6d42f.tar.gz CMake-0b65a2b2531b05abe1bc1f1950bb963af7a6d42f.tar.bz2 |
add_custom_command(DEPFILE): ensure all dependencies are taken into account
Diffstat (limited to 'Source/cmDependsCompiler.cxx')
-rw-r--r-- | Source/cmDependsCompiler.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/cmDependsCompiler.cxx b/Source/cmDependsCompiler.cxx index bf599ff..0cc4946 100644 --- a/Source/cmDependsCompiler.cxx +++ b/Source/cmDependsCompiler.cxx @@ -4,6 +4,7 @@ #include "cmDependsCompiler.h" #include <algorithm> +#include <iterator> #include <map> #include <memory> #include <string> @@ -111,9 +112,13 @@ bool cmDependsCompiler::CheckDependencies( // copy depends for each target, except first one, which can be // moved for (auto index = entry.rules.size() - 1; index > 0; --index) { - dependencies[entry.rules[index]] = depends; + auto& rule_deps = dependencies[entry.rules[index]]; + rule_deps.insert(rule_deps.end(), depends.cbegin(), + depends.cend()); } - dependencies[entry.rules.front()] = std::move(depends); + auto& rule_deps = dependencies[entry.rules.front()]; + std::move(depends.cbegin(), depends.cend(), + std::back_inserter(rule_deps)); } } else { if (format == "msvc"_s) { |