#ifndef SIBS_GLOBALLIB_HPP #define SIBS_GLOBALLIB_HPP #include "Result.hpp" #include "Linker.hpp" #include "Dependency.hpp" #include "Conf.hpp" namespace sibs { class GlobalLib { public: enum DependencyError { DEPENDENCY_NOT_FOUND = 10, DEPENDENCY_VERSION_NO_MATCH = 20 }; static Result getLibs(const std::vector &libs, const SibsConfig &parentConfig, const FileString &globalLibRootDir, LinkerFlagCallbackFunc staticLinkerFlagCallbackFunc, LinkerFlagCallbackFunc dynamicLinkerFlagCallbackFunc, GlobalIncludeDirCallbackFunc globalIncludeDirCallback); static Result validatePackageExists(const FileString &globalLibRootDir, const std::string &name); static Result getLibsLinkerFlags(const SibsConfig &parentConfig, const FileString &globalLibRootDir, const std::string &name, const std::string &version, LinkerFlagCallbackFunc staticLinkerFlagCallbackFunc, LinkerFlagCallbackFunc dynamicLinkerFlagCallbackFunc, GlobalIncludeDirCallbackFunc globalIncludeDirCallback); static Result downloadDependency(const Dependency &dependency); }; } #endif //SIBS_GLOBALLIB_HPP