X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ffiletarget.h;h=30cd3df3ec3fae9486761e8cf403c8df582dc9ce;hb=c8dfe708b5551818dad3f6cf3e86cc72fe684572;hp=6d2480f7e75d9d64c795a4e075c2492664b32aab;hpb=968db78efd29b1f4890068693728299b2c7c92c7;p=builder.git diff --git a/source/filetarget.h b/source/filetarget.h index 6d2480f..30cd3df 100644 --- a/source/filetarget.h +++ b/source/filetarget.h @@ -14,11 +14,13 @@ protected: Msp::FS::Path path; Msp::Time::TimeStamp mtime; unsigned size; + Msp::FS::Path install_location; 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: @@ -26,6 +28,9 @@ public: const Msp::Time::TimeStamp &get_mtime() const { return mtime; } unsigned get_size() const { return size; } + bool is_installable() const { return !install_location.empty(); } + const Msp::FS::Path &get_install_location() const { return install_location; } + /** Changes the mtime of the target to the current time. */ @@ -33,6 +38,12 @@ public: protected: virtual void check_rebuild(); + +public: + virtual Task *build(); + +protected: + virtual void build_finished(bool); }; #endif