From f6bcdf67b1b981592825d6a6a1c4d3ff122de553 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 20 Dec 2025 15:43:47 +0100 Subject: WIP --- src/tasks.cc | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/tasks.cc') diff --git a/src/tasks.cc b/src/tasks.cc index 94fe269..82d044e 100644 --- a/src/tasks.cc +++ b/src/tasks.cc @@ -85,7 +85,7 @@ std::vector> taskFactory(const ctor::build_configuration& ctor::target_type target_type{config.type}; if(target_type == ctor::target_type::automatic) { - if(config.function != nullptr) + if(!std::holds_alternative(config.function)) { target_type = ctor::target_type::function; } @@ -114,12 +114,22 @@ std::vector> taskFactory(const ctor::build_configuration& #ifndef BOOTSTRAP else { - for(const auto& file : config.sources) + bool multi{std::holds_alternative(config.function)}; + if(multi) { - auto task = std::make_shared(config, settings, sourceDir, file); + auto task = std::make_shared(config, settings, sourceDir, ""); tasks.push_back(task); objects.push_back(task->target()); } + else + { + for(const auto& file : config.sources) + { + auto task = std::make_shared(config, settings, sourceDir, file); + tasks.push_back(task); + objects.push_back(task->target()); + } + } } #endif -- cgit v1.2.3