aboutsummaryrefslogtreecommitdiff
path: root/build/install/rule
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-07-31 12:52:20 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-07-31 12:52:20 +0200
commitbbd0f3bb21442a2833916110cbe8e9a07e9f4c1f (patch)
treed25de6f2bcfa4b6cabe1fd55a1b8f508005de4c1 /build/install/rule
parent729b56300c441a0d63c7d2013eb5a881211d352b (diff)
Essential install module functionality
Diffstat (limited to 'build/install/rule')
-rw-r--r--build/install/rule35
1 files changed, 35 insertions, 0 deletions
diff --git a/build/install/rule b/build/install/rule
new file mode 100644
index 0000000..bed0836
--- /dev/null
+++ b/build/install/rule
@@ -0,0 +1,35 @@
+// file : build/install/rule -*- C++ -*-
+// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+#ifndef BUILD_INSTALL_RULE
+#define BUILD_INSTALL_RULE
+
+#include <build/rule>
+#include <build/types>
+#include <build/target>
+#include <build/operation>
+
+namespace build
+{
+ namespace install
+ {
+ class rule: public build::rule
+ {
+ public:
+ virtual bool
+ filter (action, target&, prerequisite_member) const {return true;}
+
+ virtual match_result
+ match (action, target&, const std::string&) const;
+
+ virtual recipe
+ apply (action, target&, const match_result&) const;
+
+ static target_state
+ perform_install (action, target&);
+ };
+ }
+}
+
+#endif // BUILD_INSTALL_RULE