summaryrefslogtreecommitdiff
path: root/src/buildtool/build_engine/target_map/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/build_engine/target_map/utils.cpp')
-rw-r--r--src/buildtool/build_engine/target_map/utils.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/buildtool/build_engine/target_map/utils.cpp b/src/buildtool/build_engine/target_map/utils.cpp
index 4dcafa4f..ea3ce0a5 100644
--- a/src/buildtool/build_engine/target_map/utils.cpp
+++ b/src/buildtool/build_engine/target_map/utils.cpp
@@ -108,6 +108,12 @@ auto BuildMaps::Target::Utils::tree_conflict(const ExpressionPtr& map)
return ".";
}
auto p = std::filesystem::path{path};
+ if (p.is_absolute()) {
+ return p.string();
+ }
+ if (*p.begin() == "..") {
+ return p.string();
+ }
auto insert_result = blocked.insert(p);
if (not insert_result.second) {
return p.string(); // duplicate path