blob: 9bc41f1210676d849b3a8a3362a10fa055860ba1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// file : build/install/utility -*- C++ -*-
// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd
// license : MIT; see accompanying LICENSE file
#ifndef BUILD_INSTALL_UTILITY
#define BUILD_INSTALL_UTILITY
#include <string>
#include <utility>
#include <build/scope>
#include <build/types>
namespace build
{
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 // BUILD_INSTALL_UTILITY
|