aboutsummaryrefslogtreecommitdiff
path: root/backend/ninja/Ninja.hpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2017-12-10 04:05:20 +0100
committerdec05eba <dec05eba@protonmail.com>2017-12-10 04:06:02 +0100
commit99570d3fa5abf548d4e8e5e479d82ee66898b602 (patch)
treed52ac6662d51baccde2983639de0ffda3acc9578 /backend/ninja/Ninja.hpp
parent1d3e221a7a20bfd03517e3ae1e35e4a309a69b6a (diff)
Add support for recursive global lib dependencies
Diffstat (limited to 'backend/ninja/Ninja.hpp')
-rw-r--r--backend/ninja/Ninja.hpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/backend/ninja/Ninja.hpp b/backend/ninja/Ninja.hpp
index 9ca6ace..71b12a5 100644
--- a/backend/ninja/Ninja.hpp
+++ b/backend/ninja/Ninja.hpp
@@ -3,8 +3,10 @@
#include "../../include/Dependency.hpp"
#include "../../include/Result.hpp"
+#include "../../include/Linker.hpp"
#include <vector>
#include <string>
+#include <functional>
namespace backend
@@ -22,11 +24,11 @@ namespace backend
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> createBuildFile(const std::string &packageName, const std::vector<sibs::Dependency> &dependencies, const char *savePath, sibs::LinkerFlagCallbackFunc linkerFlagCallbackFunc = nullptr);
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<std::string> getLinkerFlags(const std::vector<sibs::Dependency> &dependencies, sibs::LinkerFlagCallbackFunc linkerFlagCallbackFunc) const;
private:
std::vector<std::string> sourceFiles;
LibraryType libraryType;