aboutsummaryrefslogtreecommitdiff
path: root/backend/ninja/Ninja.hpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2017-12-10 01:10:48 +0100
committerdec05eba <dec05eba@protonmail.com>2017-12-10 01:12:08 +0100
commit1d3e221a7a20bfd03517e3ae1e35e4a309a69b6a (patch)
treefdb38039d12cf38e9ac6102118727b78437cf3db /backend/ninja/Ninja.hpp
parent2ed7d0b09caa872e44e2eb09b09b2387e93f9b34 (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.hpp12
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;
};
}