From 1bb564a690e2661094e9071d4003638390a5a6fe Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 5 Feb 2018 12:02:32 +0200 Subject: Fix test and install rules to handle see-through groups correctly --- build2/install/init.cxx | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'build2/install/init.cxx') diff --git a/build2/install/init.cxx b/build2/install/init.cxx index a11f3e5..259fb07 100644 --- a/build2/install/init.cxx +++ b/build2/install/init.cxx @@ -165,6 +165,8 @@ namespace build2 static const dir_path dir_man (dir_path (dir_data) /= "man"); static const dir_path dir_man1 (dir_path ("man") /= "man1"); + static const group_rule group_rule_ (true /* see_through_only */); + bool init (scope& rs, scope& bs, @@ -207,18 +209,24 @@ namespace build2 vp.insert ("install.subdirs", variable_visibility::project); } - // Register our alias and file rules. + // Register our rules. // { + auto& r (bs.rules); + const auto& ar (alias_rule::instance); const auto& fr (file_rule::instance); + const auto& gr (group_rule_); - bs.rules.insert (perform_install_id, "install.alias", ar); - bs.rules.insert (perform_uninstall_id, "uninstall.alias", ar); + r.insert (perform_install_id, "install.alias", ar); + r.insert (perform_uninstall_id, "uninstall.alias", ar); - bs.rules.insert (perform_install_id, "install.file", fr); - bs.rules.insert (perform_uninstall_id, "uninstall.file", fr); - } + r.insert (perform_install_id, "install.file", fr); + r.insert (perform_uninstall_id, "uninstall.file", fr); + + r.insert (perform_install_id, "install.file", gr); + r.insert (perform_uninstall_id, "uninstall.file", gr); + } // Configuration. // -- cgit v1.1