diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2023-05-16 11:31:24 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2023-05-16 11:31:24 +0200 |
commit | 2ef2038b3301916bc8d256c170a8d075012c7aed (patch) | |
tree | eb8f3779e641248c005043a5abdc8f3bc1e2b9ff /libbuild2/dist/init.cxx | |
parent | e04fc00e978bb242f2aa6f0d1a6c4075048c9e09 (diff) |
Implement dist meta-operation without invoking install (GH issue #190)
The use of install (or another install-like program) can still be forced
with config.dist.cmd=install.
Diffstat (limited to 'libbuild2/dist/init.cxx')
-rw-r--r-- | libbuild2/dist/init.cxx | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/libbuild2/dist/init.cxx b/libbuild2/dist/init.cxx index 26ff86d..2a25992 100644 --- a/libbuild2/dist/init.cxx +++ b/libbuild2/dist/init.cxx @@ -133,7 +133,7 @@ namespace build2 // bool s (specified_config (rs, "dist", {"bootstrap"})); - // dist.root + // config.dist.root // { value& v (rs.assign ("dist.root")); @@ -145,22 +145,24 @@ namespace build2 } } - // dist.cmd + // config.dist.cmd + // + // By default we use in-process code for creating directories and + // copying files (for performance, especially on Windows). But an + // external program (normally install) can be used if configured. // { - value& v (rs.assign<process_path> ("dist.cmd")); + value& v (rs.assign<process_path> ("dist.cmd")); // NULL if (s) { - if (lookup l = lookup_config (rs, - "config.dist.cmd", - path ("install"))) + if (lookup l = lookup_config (rs, "config.dist.cmd", nullptr)) v = run_search (cast<path> (l), true); } } - // dist.archives - // dist.checksums + // config.dist.archives + // config.dist.checksums // { value& a (rs.assign ("dist.archives")); @@ -183,7 +185,7 @@ namespace build2 } } - // dist.uncommitted + // config.dist.uncommitted // // Omit it from the configuration unless specified. // |