X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ffiletarget.h;h=5c11b5cfc4e7de82bb45cd1dabc06b882d5038e8;hb=bde362811368647047f3ca13bdec596f092ecffe;hp=2be0063c936f20bb5670a5ce16e02425e6e1d0d1;hpb=1a75d7e01d0704f83633f696a312744de272b4c4;p=builder.git diff --git a/source/filetarget.h b/source/filetarget.h index 2be0063..5c11b5c 100644 --- a/source/filetarget.h +++ b/source/filetarget.h @@ -15,11 +15,15 @@ protected: Msp::Time::TimeStamp mtime; unsigned size; Msp::FS::Path install_location; + std::string install_filename; + bool nested_build_sig; + bool arch_in_build_sig; FileTarget(Builder &, const Msp::FS::Path &); FileTarget(Builder &, const SourcePackage &, const Msp::FS::Path &); private: void init(const SourcePackage *); + void stat(); static std::string generate_name(Builder &, const SourcePackage *, const Msp::FS::Path &); public: @@ -29,14 +33,22 @@ public: bool is_installable() const { return !install_location.empty(); } const Msp::FS::Path &get_install_location() const { return install_location; } + const std::string &get_install_filename() const { return install_filename; } - /** - Changes the mtime of the target to the current time. - */ + /// Changes the mtime of the target to the current time. void touch(); protected: - virtual void check_rebuild(); + void check_rebuild() override; + + virtual std::string create_build_signature() const; + + void build(Task &) override; + + void build_finished(bool) override; + +public: + void clean() override; }; #endif