summaryrefslogtreecommitdiff
path: root/src/buildtool
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2025-05-21 16:19:38 +0200
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2025-05-22 12:48:13 +0200
commita6a76cc15a2c46a0741f88d3b794c407b314052a (patch)
treeead6d93fea244f6b229604d4b36131c77cc11170 /src/buildtool
parent47e607c02a793b0798374dfdc34c2ed7f0c843f7 (diff)
downloadjustbuild-a6a76cc15a2c46a0741f88d3b794c407b314052a.tar.gz
just-mr: Fix wrong setup root being picked up
This fixes a bug in which the setup root was falsely being changed by unconditionally searching early for a default configuration files, despite one being explicitly provided at the command line.
Diffstat (limited to 'src/buildtool')
-rw-r--r--src/buildtool/common/user_structs.hpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/buildtool/common/user_structs.hpp b/src/buildtool/common/user_structs.hpp
index 9f67ed45..34101e89 100644
--- a/src/buildtool/common/user_structs.hpp
+++ b/src/buildtool/common/user_structs.hpp
@@ -28,10 +28,13 @@
/* Structures populated exclusively from command line with user-defined data */
+static inline const std::filesystem::path kDefaultSetupRoot =
+ FileSystemManager::GetCurrentDirectory();
+
struct LocalPaths {
// user-defined locations
std::optional<std::filesystem::path> root{std::nullopt};
- std::filesystem::path setup_root{FileSystemManager::GetCurrentDirectory()};
+ std::filesystem::path setup_root = kDefaultSetupRoot;
std::optional<std::filesystem::path> workspace_root{
// find workspace root
[]() -> std::optional<std::filesystem::path> {
@@ -45,7 +48,7 @@ struct LocalPaths {
});
};
// default path to current dir
- auto path = FileSystemManager::GetCurrentDirectory();
+ auto path = kDefaultSetupRoot;
auto root_path = path.root_path();
while (true) {
if (is_workspace_root(path)) {