diff options
Diffstat (limited to 'Builder.h')
-rw-r--r-- | Builder.h | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -7,6 +7,7 @@ #include <boost/property_tree/ptree.hpp> +#include "LanguageSettings.h" #include "ProcessRunner.h" class Builder @@ -18,8 +19,12 @@ public: void clean() const; private: + std::unordered_map<std::filesystem::path, std::vector<std::filesystem::path>> get_dependencies(const boost::property_tree::ptree& ptree) const; std::vector<std::filesystem::path> dependencies_of(const std::filesystem::path& p) const; + std::vector<std::string> link_libs_of(const std::filesystem::path& p) const; bool is_outdated(const std::filesystem::path& p) const; + bool is_outdated(const std::filesystem::path& p, const std::vector<std::filesystem::path> &dependencies) const; + std::vector<std::filesystem::path> make_depfile_from(const std::filesystem::path& p) const; void build_file(const std::filesystem::path& p); void build_filelist(); @@ -30,7 +35,9 @@ private: std::vector<std::filesystem::path> _all_targets; std::vector<std::filesystem::path> _all_objects; std::unordered_map<std::filesystem::path, std::vector<std::filesystem::path>> _dependencies; + std::unordered_map<std::filesystem::path, std::vector<std::string>> _link_libs; + LanguageSettings _lang; ProcessRunner _runner; std::unordered_set<std::filesystem::path> _buildlist; // build done |