diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/build_engine/base_maps/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/build_engine/base_maps/directory_map.cpp | 6 |
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}; |