diff options
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; }; } |