diff options
Diffstat (limited to 'src/task_cc.h')
-rw-r--r-- | src/task_cc.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/task_cc.h b/src/task_cc.h index 10813a7..0a0d96a 100644 --- a/src/task_cc.h +++ b/src/task_cc.h @@ -19,7 +19,10 @@ class TaskCC public: TaskCC(const BuildConfiguration& config, const Settings& settings, - const std::string& sourceDir, const std::string& source); + const std::string& sourceDir, const Source& source); + virtual ~TaskCC() = default; + + int registerDepTasksInner(const std::set<std::shared_ptr<Task>>& tasks) override; std::string name() const override; bool dirtyInner() override; @@ -30,20 +33,26 @@ public: std::vector<std::string> depends() const override; std::string target() const override; + std::filesystem::path targetFile() const override; + + bool derived() const override; std::string toJSON() const override; -private: + std::string source() const override; + +protected: std::vector<std::string> flags() const; std::string flagsString() const; std::vector<std::string> getCompilerArgs() const; std::filesystem::path sourceFile; - std::filesystem::path targetFile; + std::filesystem::path _targetFile; std::filesystem::path depsFile; std::filesystem::path flagsFile; const BuildConfiguration& config; const Settings& settings; std::filesystem::path sourceDir; + const Source& _source; }; |