From 1f583ebb6e3973c992d59886659bf53ff87f41de Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 28 Dec 2017 16:57:06 +0100 Subject: Add optimization level option to building --- include/Conf.hpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'include/Conf.hpp') diff --git a/include/Conf.hpp b/include/Conf.hpp index b893d3a..1f680e8 100644 --- a/include/Conf.hpp +++ b/include/Conf.hpp @@ -84,10 +84,19 @@ namespace sibs static Result readFromFile(const char *filepath, const ConfigCallback &callback); }; + enum OptimizationLevel + { + OPT_LEV_NONE, + OPT_LEV_DEBUG, + OPT_LEV_RELEASE + }; + + const char* asString(OptimizationLevel optLevel); + class SibsConfig : public ConfigCallback { public: - SibsConfig(const std::string &_projectPath) : projectPath(_projectPath), finishedProcessing(false), packageType((PackageType)-1) {} + SibsConfig(const std::string &_projectPath, OptimizationLevel _optimizationLevel = OPT_LEV_DEBUG) : projectPath(_projectPath), packageType((PackageType)-1), optimizationLevel(_optimizationLevel), finishedProcessing(false) {} virtual ~SibsConfig(){} virtual const std::string& getPackageName() const @@ -121,6 +130,11 @@ namespace sibs { return includeDirs; } + + virtual OptimizationLevel getOptimizationLevel() const + { + return optimizationLevel; + } protected: virtual void processObject(StringView name) override; virtual void processField(StringView name, const ConfigValue &value) override; @@ -133,6 +147,7 @@ namespace sibs PackageType packageType; std::vector dependencies; std::vector includeDirs; + OptimizationLevel optimizationLevel; bool finishedProcessing; }; -- cgit v1.2.3-70-g09d2