summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/build_engine/target_map/TARGETS1
-rw-r--r--src/buildtool/build_engine/target_map/target_map.cpp7
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(),