// 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