#ifndef SIBS_PKGCONFIG_HPP #define SIBS_PKGCONFIG_HPP #include "env.hpp" #include "Result.hpp" #include #include #include "FileUtil.hpp" #include "Version.hpp" namespace sibs { class PackageListDependency; struct PkgConfigFlags { std::string linkerFlags; std::string cflags; }; class PkgConfig { public: static void setPkgConfigPath(const FileString &path); static Result validatePkgConfigPackageVersionExists(PackageListDependency *dependency); static Result validatePackageExists(const std::string &name); static Result validatePackageVersionAtLeast(const std::string &name, const std::string &version); static Result getPackageVersion(const std::string &name); static Result getDynamicLibsLinkerFlags(const std::vector &libs); static Result getDynamicLibsCflags(const std::vector &libs); static Result getDynamicLibsFlags(const std::vector &libs); }; } #endif // SIBS_PKGCONFIG_HPP