// file : build2/install/utility -*- C++ -*- // copyright : Copyright (c) 2014-2016 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file #ifndef BUILD2_INSTALL_UTILITY #define BUILD2_INSTALL_UTILITY #include #include #include namespace build2 { namespace install { // Set install path, mode for a target type. // inline void install_path (const target_type& tt, scope& s, dir_path d) { auto r (s.target_vars[tt]["*"].insert ("install")); if (r.second) // Already set by the user? r.first.get () = path_cast (move (d)); } template inline void install_path (scope& s, dir_path d) { return install_path (T::static_type, s, move (d)); } inline void install_mode (const target_type& tt, scope& s, string m) { auto r (s.target_vars[tt]["*"].insert ("install.mode")); if (r.second) // Already set by the user? r.first.get () = move (m); } template inline void install_mode (scope& s, string m) { return install_mode (T::static_type, s, move (m)); } } } #endif // BUILD2_INSTALL_UTILITY