From 61f7f7538cc6abb0be64c35570f38dd2541d7451 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Wed, 8 Jun 2022 17:31:36 +0200 Subject: Add const Settings& to build configuration callbacks. --- src/libctor.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/libctor.h') diff --git a/src/libctor.h b/src/libctor.h index 70f2c3e..f80a5c5 100644 --- a/src/libctor.h +++ b/src/libctor.h @@ -8,6 +8,7 @@ #include #include #include +#include enum class TargetType { @@ -55,6 +56,13 @@ struct Flags std::vector asmflags; // flags for asm translator }; +struct Settings +{ + std::string builddir{"build"}; + std::size_t parallel_processes{1}; + int verbose{0}; // -1: completely silent, 0: normal, 1: verbose, ... +}; + struct BuildConfiguration { std::string name; // Name - used for referring in other configurations. @@ -69,7 +77,7 @@ struct BuildConfiguration using BuildConfigurations = std::vector; -int reg(BuildConfigurations (*cb)(), +int reg(BuildConfigurations (*cb)(const Settings&), const std::source_location location = std::source_location::current()); // This type will use flags verbatim @@ -87,7 +95,7 @@ struct ExternalConfiguration using ExternalConfigurations = std::vector; -int reg(ExternalConfigurations (*cb)(), +int reg(ExternalConfigurations (*cb)(const Settings&), const std::source_location location = std::source_location::current()); // Convenience macro - ugly but keeps things simple(r) -- cgit v1.2.3