aboutsummaryrefslogtreecommitdiff
path: root/backend/ninja/Ninja.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2017-12-16 18:23:00 +0100
committerdec05eba <dec05eba@protonmail.com>2017-12-16 18:23:41 +0100
commit33872fc72e40331c23a82f2b5ec3e509c7191d7a (patch)
treea6f210b7d264f82a5f2f674291c97d88f5714213 /backend/ninja/Ninja.cpp
parent9487a0e924a10a1c314cb51afb5f65ced437b1d3 (diff)
Modify ninja interface to build after creating build file
This setup is needed because we need to build the project before building tests
Diffstat (limited to 'backend/ninja/Ninja.cpp')
-rw-r--r--backend/ninja/Ninja.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/backend/ninja/Ninja.cpp b/backend/ninja/Ninja.cpp
index 2402ec1..6e9079a 100644
--- a/backend/ninja/Ninja.cpp
+++ b/backend/ninja/Ninja.cpp
@@ -196,7 +196,7 @@ namespace backend
return Result<bool>::Ok(true);
}
- Result<bool> Ninja::createBuildFile(const SibsConfig &config, const char *savePath, LinkerFlagCallbackFunc staticLinkerFlagCallbackFunc, LinkerFlagCallbackFunc dynamicLinkerFlagCallback)
+ Result<bool> Ninja::build(const SibsConfig &config, const char *savePath, LinkerFlagCallbackFunc staticLinkerFlagCallbackFunc, LinkerFlagCallbackFunc dynamicLinkerFlagCallback)
{
// TODO: Do not quit here if no source files are provided. The source-less project could have dependencies
if(sourceFiles.empty())
@@ -368,6 +368,10 @@ namespace backend
printf("Created ninja build file: %s\n", ninjaBuildFilePath.c_str());
+ Result<bool> buildResult = build(savePath);
+ if(!buildResult)
+ return buildResult;
+
Result<bool> buildTestResult = buildTests(projectGeneratedBinary);
if(!buildTestResult)
return buildTestResult;
@@ -430,7 +434,7 @@ namespace backend
if(!ninja.getSourceFiles().empty())
{
string debugBuildPath = testSourceDir + "/sibs-build/debug";
- Result<bool> buildFileResult = ninja.createBuildFile(sibsTestConfig, debugBuildPath.c_str());
+ Result<bool> buildFileResult = ninja.build(sibsTestConfig, debugBuildPath.c_str());
if (!buildFileResult)
return buildFileResult;