summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/build_engine/base_maps/TARGETS1
-rw-r--r--src/buildtool/build_engine/base_maps/directory_map.cpp6
2 files changed, 5 insertions, 2 deletions
diff --git a/src/buildtool/build_engine/base_maps/TARGETS b/src/buildtool/build_engine/base_maps/TARGETS
index dc2a51ca..bf513067 100644
--- a/src/buildtool/build_engine/base_maps/TARGETS
+++ b/src/buildtool/build_engine/base_maps/TARGETS
@@ -13,6 +13,7 @@
, "deps":
[ ["src/buildtool/common", "config"]
, ["src/buildtool/multithreading", "async_map_consumer"]
+ , ["src/utils/cpp", "path"]
, "module_name"
]
, "stage": ["src", "buildtool", "build_engine", "base_maps"]
diff --git a/src/buildtool/build_engine/base_maps/directory_map.cpp b/src/buildtool/build_engine/base_maps/directory_map.cpp
index b8cc4441..59646aa2 100644
--- a/src/buildtool/build_engine/base_maps/directory_map.cpp
+++ b/src/buildtool/build_engine/base_maps/directory_map.cpp
@@ -5,6 +5,7 @@
#include "src/buildtool/common/repository_config.hpp"
#include "src/buildtool/multithreading/async_map_consumer.hpp"
+#include "src/utils/cpp/path.hpp"
auto BuildMaps::Base::CreateDirectoryEntriesMap(std::size_t jobs)
-> DirectoryEntriesMap {
@@ -22,14 +23,15 @@ auto BuildMaps::Base::CreateDirectoryEntriesMap(std::size_t jobs)
true);
return;
}
- if (not ws_root->IsDirectory(key.module)) {
+ auto dir_path = key.module.empty() ? "." : key.module;
+ if (not ws_root->IsDirectory(dir_path)) {
// Missing directory is fine (source tree might be incomplete),
// contains no entries.
(*setter)(FileRoot::DirectoryEntries{
FileRoot::DirectoryEntries::pairs_t{}});
return;
}
- (*setter)(ws_root->ReadDirectory(key.module));
+ (*setter)(ws_root->ReadDirectory(dir_path));
};
return AsyncMapConsumer<BuildMaps::Base::ModuleName,
FileRoot::DirectoryEntries>{directory_reader, jobs};