diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-01-05 11:55:15 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-01-05 11:55:15 +0200 |
commit | 9fb791e9fad6c63fc1dac49f4d05ae63b8a3db9b (patch) | |
tree | d60322d4382ca5f97b676c5abe2e39524f35eab4 /build2/install/rule | |
parent | f159b1dac68c8714f7ba71ca168e3b695891aad9 (diff) |
Rename build directory/namespace to build2
Diffstat (limited to 'build2/install/rule')
-rw-r--r-- | build2/install/rule | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/build2/install/rule b/build2/install/rule new file mode 100644 index 0000000..aeb7f13 --- /dev/null +++ b/build2/install/rule @@ -0,0 +1,49 @@ +// file : build2/install/rule -*- C++ -*- +// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BUILD2_INSTALL_RULE +#define BUILD2_INSTALL_RULE + +#include <build2/rule> +#include <build2/types> +#include <build2/target> +#include <build2/operation> + +namespace build2 +{ + namespace install + { + class alias_rule: public rule + { + public: + virtual match_result + match (action, target&, const std::string&) const; + + virtual recipe + apply (action, target&, const match_result&) const; + }; + + class file_rule: public rule + { + public: + virtual match_result + match (action, target&, const std::string&) const; + + // Return NULL if this prerequisite should be ignored and pointer to its + // target otherwise. The default implementation ignores prerequsites that + // are outside of this target's project. + // + virtual target* + filter (action, target&, prerequisite_member) const; + + virtual recipe + apply (action, target&, const match_result&) const; + + static target_state + perform_install (action, target&); + }; + } +} + +#endif // BUILD2_INSTALL_RULE |