diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/build_engine/target_map/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/target_map.cpp | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/buildtool/build_engine/target_map/TARGETS b/src/buildtool/build_engine/target_map/TARGETS index 2539aa59..e57a8c3b 100644 --- a/src/buildtool/build_engine/target_map/TARGETS +++ b/src/buildtool/build_engine/target_map/TARGETS @@ -50,6 +50,7 @@ , ["src/utils/cpp", "hash_combine"] , ["src/utils/cpp", "path"] , ["@", "fmt", "", "fmt"] + , ["src/utils/cpp", "vector"] , ["@", "gsl-lite", "", "gsl-lite"] , ["@", "json", "", "json"] ] diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp index 815f1432..d15c1af4 100644 --- a/src/buildtool/build_engine/target_map/target_map.cpp +++ b/src/buildtool/build_engine/target_map/target_map.cpp @@ -15,6 +15,7 @@ #include "src/buildtool/build_engine/target_map/built_in_rules.hpp" #include "src/buildtool/build_engine/target_map/utils.hpp" #include "src/utils/cpp/path.hpp" +#include "src/utils/cpp/vector.hpp" namespace { @@ -396,8 +397,10 @@ void withDependencies( "either outs or out_dirs must be specified for ACTION"}; } - std::sort(outputs.begin(), outputs.end()); - std::sort(output_dirs.begin(), output_dirs.end()); + sort_and_deduplicate(&outputs); + sort_and_deduplicate(&output_dirs); + + // find entries present on both fields std::vector<std::string> dups{}; std::set_intersection(outputs.begin(), outputs.end(), |