From 8a7f76e7a1b404dc7f703d09d724defaee9e4238 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 14 Jan 2023 17:54:23 +0100 Subject: Extend target_type deduction based on filename extension and move to utils. --- src/tasks.cc | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) (limited to 'src/tasks.cc') diff --git a/src/tasks.cc b/src/tasks.cc index 67bed2b..b44fce8 100644 --- a/src/tasks.cc +++ b/src/tasks.cc @@ -18,6 +18,7 @@ #include "task_fn.h" #include "rebuild.h" #include "configure.h" +#include "util.h" const std::deque& getTargets(const ctor::settings& settings, bool resolve_externals) @@ -92,23 +93,9 @@ std::set> taskFactory(const ctor::build_configuration& con { target_type = ctor::target_type::function; } - else if(targetFile.extension() == ".a") - { - target_type = ctor::target_type::static_library; - } - else if(targetFile.extension() == ".so") - { - target_type = ctor::target_type::dynamic_library; - } - else if(targetFile.extension() == "") - { - target_type = ctor::target_type::executable; - } else { - std::cerr << "Could not deduce target type from target " << - targetFile.string() << " please specify.\n"; - exit(1); + target_type = target_type_from_extension(targetFile); } } @@ -140,6 +127,12 @@ std::set> taskFactory(const ctor::build_configuration& con // The target_type cannot be Auto break; + case ctor::target_type::unknown: + std::cerr << "Could not deduce target type from target " << + targetFile.string() << " please specify.\n"; + exit(1); + break; + case ctor::target_type::static_library: case ctor::target_type::unit_test_library: tasks.insert(std::make_shared(config, settings, config.target, -- cgit v1.2.3