aboutsummaryrefslogtreecommitdiff
path: root/src/Conf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Conf.cpp')
-rw-r--r--src/Conf.cpp26
1 files changed, 7 insertions, 19 deletions
diff --git a/src/Conf.cpp b/src/Conf.cpp
index 12421e0..543c8d9 100644
--- a/src/Conf.cpp
+++ b/src/Conf.cpp
@@ -643,13 +643,7 @@ namespace sibs
SibsConfig::~SibsConfig()
{
- // TODO: Fix this shit.. why does this cause segfault?
- /*
- for(PackageListDependency *dependency : packageListDependencies)
- {
- //delete dependency;
- }
- */
+
}
bool SibsConfig::isDefined(const std::string &name) const
@@ -1102,10 +1096,10 @@ namespace sibs
if(!dependencyVersionResult)
throw ParserException("Dependency " + string(name.data, name.size) + " version is in invalid format, error: " + dependencyVersionResult.getErrMsg());
- PackageListDependency *dependency = new PackageListDependency();
- dependency->name = string(name.data, name.size);
- dependency->version = dependencyVersionResult.unwrap();
- packageListDependencies.emplace_back(dependency);
+ PackageListDependency dependency;
+ dependency.name = string(name.data, name.size);
+ dependency.version = dependencyVersionResult.unwrap();
+ packageListDependencies.push_back(std::move(dependency));
}
else
throw ParserException("Expected field under dependencies to be a single value or an object, was a list");
@@ -1287,7 +1281,7 @@ namespace sibs
getLibFiles(parsePlatformConfigStatic(fieldName, fieldValue), releaseStaticLibs);
}
- void SibsConfig::parseCmake(const StringView &fieldName, const ConfigValue &fieldValue, FileString &cmakeDir, FileString &cmakeArgs)
+ void SibsConfig::parseCmake(const StringView &fieldName, const ConfigValue &fieldValue, FileString &cmakeDir, std::vector<FileString> &cmakeArgs)
{
if(fieldName.equals("dir"))
{
@@ -1314,13 +1308,7 @@ namespace sibs
{
for(const StringView &arg : fieldValue.asList())
{
- bool prependSpace = !cmakeArgs.empty();
- cmakeArgs.reserve(cmakeArgs.size() + 4 + (prependSpace ? 1 : 0) + arg.size);
- if(prependSpace)
- cmakeArgs += TINYDIR_STRING(" ");
- cmakeArgs += TINYDIR_STRING("\"-D");
- cmakeArgs += toFileString(arg);
- cmakeArgs += TINYDIR_STRING("\"");
+ cmakeArgs.push_back(TINYDIR_STRING("-D") + toFileString(arg));
}
}
else