diff options
Diffstat (limited to 'backend/ninja/Ninja.hpp')
-rw-r--r-- | backend/ninja/Ninja.hpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/backend/ninja/Ninja.hpp b/backend/ninja/Ninja.hpp index ad71c80..1ba20c7 100644 --- a/backend/ninja/Ninja.hpp +++ b/backend/ninja/Ninja.hpp @@ -1,18 +1,24 @@ #ifndef BACKEND_NINJA_HPP #define BACKEND_NINJA_HPP +#include "../../include/Dependency.hpp" +#include "../../include/Result.hpp" #include <vector> #include <string> + namespace backend { class Ninja { public: void addSourceFile(const char *filepath); - void build(const std::string &packageName, const char *savePath); + sibs::Result<bool> createBuildFile(const std::string &packageName, const std::vector<sibs::Dependency> &dependencies, const char *savePath); private: bool containsSourceFile(const char *filepath) const; + sibs::Result<std::string> getLinkerFlags(const std::vector<sibs::Dependency> &dependencies) const; + sibs::Result<bool> validatePkgConfigPackageExists(const std::string &name) const; + sibs::Result<bool> validatePkgConfigPackageVersionAtLeast(const std::string &name, const std::string &version) const; private: std::vector<std::string> sourceFiles; }; |