diff options
-rw-r--r-- | src/task_ar.cc | 4 | ||||
-rw-r--r-- | src/task_cc.cc | 3 | ||||
-rw-r--r-- | src/task_ld.cc | 4 | ||||
-rw-r--r-- | src/task_so.cc | 3 |
4 files changed, 8 insertions, 6 deletions
diff --git a/src/task_ar.cc b/src/task_ar.cc index 9cd78d0..60f7dd1 100644 --- a/src/task_ar.cc +++ b/src/task_ar.cc @@ -21,8 +21,6 @@ TaskAR::TaskAR(const ctor::build_configuration& config, , settings(settings) , sourceDir(sourceDir) { - std::filesystem::create_directories(std::filesystem::path(settings.builddir) / sourceDir); - target_type = ctor::target_type::static_library; _targetFile = target; auto toolchain = getToolChain(config.system); @@ -52,6 +50,8 @@ TaskAR::TaskAR(const ctor::build_configuration& config, source_language = ctor::language::cpp; } } + + std::filesystem::create_directories(targetFile().parent_path()); } bool TaskAR::dirtyInner() diff --git a/src/task_cc.cc b/src/task_cc.cc index 2238b67..5c4adfb 100644 --- a/src/task_cc.cc +++ b/src/task_cc.cc @@ -24,7 +24,6 @@ TaskCC::TaskCC(const ctor::build_configuration& config, const ctor::settings& se sourceFile /= source.file; std::filesystem::path base = sourceFile.parent_path(); - std::filesystem::create_directories(std::filesystem::path(settings.builddir) / base); base /= cleanUp(config.target); base += "-"; @@ -68,6 +67,8 @@ TaskCC::TaskCC(const ctor::build_configuration& config, const ctor::settings& se depsFile += ".d"; flagsFile = targetFile().parent_path() / targetFile().stem(); flagsFile += ".flags"; + + std::filesystem::create_directories(targetFile().parent_path()); } int TaskCC::registerDepTasksInner(const std::set<std::shared_ptr<Task>>& tasks) diff --git a/src/task_ld.cc b/src/task_ld.cc index a98ef44..b7e8749 100644 --- a/src/task_ld.cc +++ b/src/task_ld.cc @@ -27,8 +27,6 @@ TaskLD::TaskLD(const ctor::build_configuration& config, target_type = ctor::target_type::executable; } - std::filesystem::create_directories(std::filesystem::path(settings.builddir) / sourceDir); - _targetFile = target; auto toolchain = getToolChain(config.system); _targetFile = extension(toolchain, target_type, config.system, _targetFile); @@ -56,6 +54,8 @@ TaskLD::TaskLD(const ctor::build_configuration& config, source_language = ctor::language::cpp; } } + + std::filesystem::create_directories(targetFile().parent_path()); } bool TaskLD::dirtyInner() diff --git a/src/task_so.cc b/src/task_so.cc index e99205d..54f9c05 100644 --- a/src/task_so.cc +++ b/src/task_so.cc @@ -22,7 +22,6 @@ TaskSO::TaskSO(const ctor::build_configuration& config, , sourceDir(sourceDir) { std::filesystem::path base = sourceDir; - std::filesystem::create_directories(std::filesystem::path(settings.builddir) / base); target_type = ctor::target_type::dynamic_library; _targetFile = base / target; @@ -53,6 +52,8 @@ TaskSO::TaskSO(const ctor::build_configuration& config, source_language = ctor::language::cpp; } } + + std::filesystem::create_directories(targetFile().parent_path()); } bool TaskSO::dirtyInner() |