X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ffiletarget.h;h=da165d0d39d1ebed128c83c0d31ce4f2a184139c;hb=1ed833343bc83b83c5f61cbfd74423bbba677a04;hp=da6b9a883d6625b9e20d87bc9880822b23aea846;hpb=cbc6c684472ee8120f29358c0167d98524f1f939;p=builder.git diff --git a/source/filetarget.h b/source/filetarget.h index da6b9a8..da165d0 100644 --- a/source/filetarget.h +++ b/source/filetarget.h @@ -13,14 +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 &); + FileTarget(Builder &b, const Msp::FS::Path &a): FileTarget(b, 0, a) { } + FileTarget(Builder &b, const SourcePackage &p, const Msp::FS::Path &a): FileTarget(b, &p, a) { } 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 &); @@ -37,18 +39,16 @@ public: 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