From e7384a7672e4449bc194ca3ec66cdd4fcc63801e Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 9 Dec 2017 16:36:23 +0100 Subject: Add support for dependencies (including version check) This currently only works using pkg-config and it only adds linking flags. Need to check with a library that also includes other types of flags. TODO: Fallback to dependencies sub directory and github/server if package not found in pkg-config. --- backend/ninja/Ninja.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'backend/ninja/Ninja.hpp') 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 #include + namespace backend { class Ninja { public: void addSourceFile(const char *filepath); - void build(const std::string &packageName, const char *savePath); + sibs::Result createBuildFile(const std::string &packageName, const std::vector &dependencies, const char *savePath); private: bool containsSourceFile(const char *filepath) const; + sibs::Result getLinkerFlags(const std::vector &dependencies) const; + sibs::Result validatePkgConfigPackageExists(const std::string &name) const; + sibs::Result validatePkgConfigPackageVersionAtLeast(const std::string &name, const std::string &version) const; private: std::vector sourceFiles; }; -- cgit v1.2.3