diff options
author | dec05eba <dec05eba@protonmail.com> | 2017-12-10 01:10:48 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2017-12-10 01:12:08 +0100 |
commit | 1d3e221a7a20bfd03517e3ae1e35e4a309a69b6a (patch) | |
tree | fdb38039d12cf38e9ac6102118727b78437cf3db /backend/ninja/Ninja.hpp | |
parent | 2ed7d0b09caa872e44e2eb09b09b2387e93f9b34 (diff) |
Add support for dependencies in global lib dir
Global lib dir is located at ~/.sibs/lib
TODO: If global lib dir doesn't exist, download it from github/server
Diffstat (limited to 'backend/ninja/Ninja.hpp')
-rw-r--r-- | backend/ninja/Ninja.hpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/backend/ninja/Ninja.hpp b/backend/ninja/Ninja.hpp index fdaa890..9ca6ace 100644 --- a/backend/ninja/Ninja.hpp +++ b/backend/ninja/Ninja.hpp @@ -12,16 +12,24 @@ namespace backend class Ninja { public: + enum class LibraryType + { + EXECUTABLE, + DYNAMIC, + STATIC + }; + + Ninja(LibraryType libraryType = LibraryType::EXECUTABLE); + void addSourceFile(const char *filepath); sibs::Result<bool> createBuildFile(const std::string &packageName, const std::vector<sibs::Dependency> &dependencies, const char *savePath); sibs::Result<bool> build(const char *buildFilePath); 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; + LibraryType libraryType; }; } |