aboutsummaryrefslogtreecommitdiff
path: root/include/Conf.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/Conf.hpp')
-rw-r--r--include/Conf.hpp36
1 files changed, 15 insertions, 21 deletions
diff --git a/include/Conf.hpp b/include/Conf.hpp
index 8098206..cfe0133 100644
--- a/include/Conf.hpp
+++ b/include/Conf.hpp
@@ -237,10 +237,10 @@ namespace sibs
switch(optimizationLevel)
{
case OPT_LEV_DEBUG:
- cmakeArgsGlobal = TINYDIR_STRING("-G Ninja \"-DCMAKE_BUILD_TYPE=Debug\"");
+ cmakeArgsGlobal = { TINYDIR_STRING("-G"), TINYDIR_STRING("Ninja"), TINYDIR_STRING("-DCMAKE_BUILD_TYPE=Debug") };
break;
case OPT_LEV_RELEASE:
- cmakeArgsGlobal = TINYDIR_STRING("-G Ninja \"-DCMAKE_BUILD_TYPE=Release\"");
+ cmakeArgsGlobal = { TINYDIR_STRING("-G"), TINYDIR_STRING("Ninja"), TINYDIR_STRING("-DCMAKE_BUILD_TYPE=Release") };
break;
}
}
@@ -274,7 +274,7 @@ namespace sibs
this->testPath = testPath;
}
- virtual const std::vector<PackageListDependency*>& getPackageListDependencies() const
+ virtual const std::vector<PackageListDependency>& getPackageListDependencies() const
{
return packageListDependencies;
}
@@ -340,30 +340,24 @@ namespace sibs
}
// Get cmake args for all builds. This is args under [cmake] only
- const FileString& getCmakeArgs() const
+ const std::vector<FileString>& getCmakeArgs() const
{
return cmakeArgsGlobal;
}
// Get cmake args for static build. This is a combination of args under [cmake] and under [cmake.static]
- FileString getCmakeArgsStatic() const
+ std::vector<FileString> getCmakeArgsStatic() const
{
- FileString result;
- result.reserve(cmakeArgsGlobal.size() + 1 + cmakeArgsStatic.size());
- result += cmakeArgsGlobal;
- result += TINYDIR_STRING(" ");
- result += cmakeArgsStatic;
+ std::vector<FileString> result = cmakeArgsGlobal;
+ result.insert(result.end(), cmakeArgsStatic.begin(), cmakeArgsStatic.end());
return result;
}
// Get cmake args for dynamic build. This is a combination of args under [cmake] and under [cmake.dynamic]
- FileString getCmakeArgsDynamic() const
+ std::vector<FileString> getCmakeArgsDynamic() const
{
- FileString result;
- result.reserve(cmakeArgsGlobal.size() + 1 + cmakeArgsDynamic.size());
- result += cmakeArgsGlobal;
- result += TINYDIR_STRING(" ");
- result += cmakeArgsDynamic;
+ std::vector<FileString> result = cmakeArgsGlobal;
+ result.insert(result.end(), cmakeArgsDynamic.begin(), cmakeArgsDynamic.end());
return result;
}
@@ -451,7 +445,7 @@ namespace sibs
std::string parsePlatformConfigStatic(const StringView &fieldName, const ConfigValue &fieldValue);
void parsePlatformConfigStaticDebug(const StringView &fieldName, const ConfigValue &fieldValue);
void parsePlatformConfigStaticRelease(const StringView &fieldName, const ConfigValue &fieldValue);
- void parseCmake(const StringView &fieldName, const ConfigValue &fieldValue, FileString &cmakeDir, FileString &cmakeArgs);
+ void parseCmake(const StringView &fieldName, const ConfigValue &fieldValue, FileString &cmakeDir, std::vector<FileString> &cmakeArgs);
void validatePackageName() const;
protected:
StringView currentObject;
@@ -460,7 +454,7 @@ namespace sibs
std::string packageName;
FileString testPath;
PackageType packageType;
- std::vector<PackageListDependency*> packageListDependencies;
+ std::vector<PackageListDependency> packageListDependencies;
std::vector<Platform> platforms;
std::unordered_map<std::string, std::string> defines;
OptimizationLevel optimizationLevel;
@@ -469,9 +463,9 @@ namespace sibs
FileString cmakeDirGlobal;
FileString cmakeDirStatic;
FileString cmakeDirDynamic;
- FileString cmakeArgsGlobal;
- FileString cmakeArgsStatic;
- FileString cmakeArgsDynamic;
+ std::vector<FileString> cmakeArgsGlobal;
+ std::vector<FileString> cmakeArgsStatic;
+ std::vector<FileString> cmakeArgsDynamic;
CVersion cVersion;
CPPVersion cppVersion;
bool useCmake;