X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ffiletarget.h;h=aff1fb7a4081cad3bddb098281389bbe63d9861f;hb=d1f9551e05c9d341149eb490e05b1465d3d6b711;hp=851085ba040a1834c47a3967cfcec491a14efdf6;hpb=1c43971ed99fd2f72ae171d6cdafabab74e37f4e;p=builder.git diff --git a/source/filetarget.h b/source/filetarget.h index 851085b..aff1fb7 100644 --- a/source/filetarget.h +++ b/source/filetarget.h @@ -13,13 +13,16 @@ class FileTarget: public Target protected: Msp::FS::Path path; Msp::Time::TimeStamp mtime; - unsigned size; + unsigned size = 0; Msp::FS::Path install_location; + std::string install_filename; + bool nested_build_sig = false; + bool arch_in_build_sig = false; FileTarget(Builder &, const Msp::FS::Path &); FileTarget(Builder &, const SourcePackage &, const Msp::FS::Path &); private: - void init(const SourcePackage *); + FileTarget(Builder &, const SourcePackage *, const Msp::FS::Path &); void stat(); static std::string generate_name(Builder &, const SourcePackage *, const Msp::FS::Path &); @@ -30,25 +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; -public: - virtual Task *build(); + void build(Task &) override; -protected: - virtual void build_finished(bool); + void build_finished(bool) override; public: - virtual void clean(); + void clean() override; }; #endif