aboutsummaryrefslogtreecommitdiff
path: root/build2/install/utility
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-01-05 11:55:15 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-01-05 11:55:15 +0200
commit9fb791e9fad6c63fc1dac49f4d05ae63b8a3db9b (patch)
treed60322d4382ca5f97b676c5abe2e39524f35eab4 /build2/install/utility
parentf159b1dac68c8714f7ba71ca168e3b695891aad9 (diff)
Rename build directory/namespace to build2
Diffstat (limited to 'build2/install/utility')
-rw-r--r--build2/install/utility40
1 files changed, 40 insertions, 0 deletions
diff --git a/build2/install/utility b/build2/install/utility
new file mode 100644
index 0000000..3cfc3e2
--- /dev/null
+++ b/build2/install/utility
@@ -0,0 +1,40 @@
+// file : build2/install/utility -*- C++ -*-
+// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+#ifndef BUILD2_INSTALL_UTILITY
+#define BUILD2_INSTALL_UTILITY
+
+#include <string>
+#include <utility>
+
+#include <build2/scope>
+#include <build2/types>
+
+namespace build2
+{
+ namespace install
+ {
+ // Set install path, mode for a target type.
+ //
+ template <typename T>
+ inline void
+ path (scope& s, dir_path d)
+ {
+ auto r (s.target_vars[T::static_type]["*"].assign ("install"));
+ if (r.second) // Already set by the user?
+ r.first.get () = std::move (d);
+ }
+
+ template <typename T>
+ inline void
+ mode (scope& s, std::string m)
+ {
+ auto r (s.target_vars[T::static_type]["*"].assign ("install.mode"));
+ if (r.second) // Already set by the user?
+ r.first.get () = std::move (m);
+ }
+ }
+}
+
+#endif // BUILD2_INSTALL_UTILITY