From ec203677f1de13c200e54813db73a8ed5be8d4c9 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sun, 12 Jul 2020 09:58:44 +0200 Subject: Cache subprojects variable value in scope::root_extra --- libbuild2/config/operation.cxx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'libbuild2/config') diff --git a/libbuild2/config/operation.cxx b/libbuild2/config/operation.cxx index 6e28b0a..c606d09 100644 --- a/libbuild2/config/operation.cxx +++ b/libbuild2/config/operation.cxx @@ -592,9 +592,9 @@ namespace build2 // Configure subprojects that have been loaded. // - if (auto l = rs.vars[ctx.var_subprojects]) + if (const subprojects* ps = *rs.root_extra->subprojects) { - for (auto p: cast (l)) + for (auto p: *ps) { const dir_path& pd (p.second); dir_path out_nroot (out_root / pd); @@ -633,9 +633,9 @@ namespace build2 // Configure subprojects. Since we don't load buildfiles if configuring // a forward, we do it for all known subprojects. // - if (auto l = rs.vars[ctx.var_subprojects]) + if (const subprojects* ps = *rs.root_extra->subprojects) { - for (auto p: cast (l)) + for (auto p: *ps) { dir_path out_nroot (out_root / p.second); const scope& nrs (ctx.scopes.find (out_nroot)); @@ -860,9 +860,9 @@ namespace build2 // Disfigure subprojects. Since we don't load buildfiles during // disfigure, we do it for all known subprojects. // - if (auto l = rs.vars[ctx.var_subprojects]) + if (const subprojects* ps = *rs.root_extra->subprojects) { - for (auto p: cast (l)) + for (auto p: *ps) { const dir_path& pd (p.second); dir_path out_nroot (out_root / pd); @@ -962,9 +962,9 @@ namespace build2 bool r (false); - if (auto l = rs.vars[ctx.var_subprojects]) + if (const subprojects* ps = *rs.root_extra->subprojects) { - for (auto p: cast (l)) + for (auto p: *ps) { dir_path out_nroot (out_root / p.second); const scope& nrs (ctx.scopes.find (out_nroot)); -- cgit v1.1