aboutsummaryrefslogtreecommitdiff
path: root/backend/ninja/Ninja.hpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2017-12-16 04:21:33 +0100
committerdec05eba <dec05eba@protonmail.com>2017-12-16 04:21:44 +0100
commit94caff5f66cacdd21e5a93cd3de9150a22eeaa3a (patch)
treeb3b7689e5a25c908369bb5fad5a59e085253b76e /backend/ninja/Ninja.hpp
parent28d6b571139998915bce147abb58617884431192 (diff)
Add support for sub project (unit tests)
Diffstat (limited to 'backend/ninja/Ninja.hpp')
-rw-r--r--backend/ninja/Ninja.hpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/backend/ninja/Ninja.hpp b/backend/ninja/Ninja.hpp
index a0239d2..7013f78 100644
--- a/backend/ninja/Ninja.hpp
+++ b/backend/ninja/Ninja.hpp
@@ -4,6 +4,7 @@
#include "../../include/Dependency.hpp"
#include "../../include/Result.hpp"
#include "../../include/Linker.hpp"
+#include "../../include/Conf.hpp"
#include <vector>
#include <string>
#include <functional>
@@ -24,14 +25,21 @@ namespace backend
Ninja(LibraryType libraryType = LibraryType::EXECUTABLE);
void addSourceFile(const char *filepath);
+ void addTestSourceDir(const char *dir);
+ void addDependency(const std::string &binaryFile);
const std::vector<std::string>& getSourceFiles() const;
- sibs::Result<bool> createBuildFile(const std::string &packageName, const std::vector<sibs::Dependency> &dependencies, const char *savePath, sibs::LinkerFlagCallbackFunc staticLinkerFlagCallbackFunc = nullptr, sibs::LinkerFlagCallbackFunc dynamicLinkerFlagCallback = nullptr);
+ sibs::Result<bool> createBuildFile(const sibs::SibsConfig &config, const char *savePath, sibs::LinkerFlagCallbackFunc staticLinkerFlagCallbackFunc = nullptr, sibs::LinkerFlagCallbackFunc dynamicLinkerFlagCallback = nullptr);
sibs::Result<bool> build(const char *buildFilePath);
private:
- bool containsSourceFile(const char *filepath) const;
+ sibs::Result<bool> buildTests(const std::string &projectGeneratedBinary);
+ bool containsSourceFile(const std::string &filepath) const;
+ bool containsTestSourceDir(const std::string &dir) const;
+ bool containsDependency(const std::string &dependency) const;
sibs::Result<bool> getLinkerFlags(const std::vector<sibs::Dependency> &dependencies, sibs::LinkerFlagCallbackFunc staticLinkerFlagCallbackFunc, sibs::LinkerFlagCallbackFunc dynamicLinkerFlagCallback) const;
private:
std::vector<std::string> sourceFiles;
+ std::vector<std::string> testSourceDirs;
+ std::vector<std::string> binaryDependencies;
LibraryType libraryType;
};
}