From 4fb846bd44e375a5d59f80fa820aa1e7f2f1dcce Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 5 Aug 2020 20:21:42 +0200 Subject: [vcpkg] add environment variable VCPKG_OVERLAY_PORTS (#12640) * [vcpkg] add environment variable VCPKG_OVERLAY_PORTS * add documentation for VCPKG_OVERLAY_PORTS * append env overlay instead of prepending to give explicitly listed overlays priority * fix formating (manually) * manually fixing formating * improve help text Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> --- toolsrc/src/vcpkg/vcpkgcmdarguments.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'toolsrc/src') diff --git a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp index 40782cc61..e1cc3e741 100644 --- a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp +++ b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp @@ -612,6 +612,7 @@ namespace vcpkg table.format(opt(TRIPLET_ARG, " ", ""), "Specify the target architecture triplet. See 'vcpkg help triplet'"); table.format("", "(default: " + format_environment_variable("VCPKG_DEFAULT_TRIPLET") + ')'); table.format(opt(OVERLAY_PORTS_ARG, "=", ""), "Specify directories to be used when searching for ports"); + table.format("", "(also: " + format_environment_variable("VCPKG_OVERLAY_PORTS") + ')'); table.format(opt(OVERLAY_TRIPLETS_ARG, "=", ""), "Specify directories containing triplets files"); table.format(opt(BINARY_SOURCES_ARG, "=", ""), "Add sources for binary caching. See 'vcpkg help binarycaching'"); @@ -646,6 +647,19 @@ namespace vcpkg } } + { + const auto vcpkg_overlay_ports_env = System::get_environment_variable(OVERLAY_PORTS_ENV); + if (const auto unpacked = vcpkg_overlay_ports_env.get()) + { +#ifdef WIN32 + auto overlays = Strings::split(*unpacked, ';'); +#else + auto overlays = Strings::split(*unpacked, ':'); +#endif + overlay_ports.insert(std::end(overlay_ports), std::begin(overlays), std::end(overlays)); + } + } + if (!vcpkg_root_dir) { const auto vcpkg_root_env = System::get_environment_variable(VCPKG_ROOT_DIR_ENV); -- cgit v1.2.3