// -*- c++ -*- #pragma once #include "task.h" #include <vector> #include <string> #include <future> #include <filesystem> struct BuildConfiguration; struct Settings; class TaskLD : public Task { public: TaskLD(const BuildConfiguration& config, const Settings& settings, const std::string& target, const std::vector<std::string>& objects); bool dirty() override; int run() override; int clean() override; std::vector<std::string> depends() const override; std::string target() const override; private: std::vector<std::filesystem::path> objectFiles; std::filesystem::path targetFile; const BuildConfiguration& config; const Settings& settings; };