mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-24 03:27:12 +01:00
[Environemnt] Don't depend on present working dir
This commit is contained in:
parent
522b393901
commit
4e86b01a36
@ -14,7 +14,7 @@ namespace vcpkg::Environment
|
||||
static const fs::path default_git_installation_dir = "C:/Program Files/git/cmd";
|
||||
static const fs::path default_git_installation_dir_x86 = "C:/Program Files (x86)/git/cmd";
|
||||
|
||||
static void ensure_on_path(const std::array<int, 3>& version, const wchar_t* version_check_cmd, const wchar_t* install_cmd)
|
||||
static void ensure_on_path(const std::array<int, 3>& version, const std::wstring& version_check_cmd, const std::wstring& install_cmd)
|
||||
{
|
||||
System::exit_code_and_output ec_data = System::cmd_execute_and_capture_output(version_check_cmd);
|
||||
if (ec_data.exit_code == 0)
|
||||
@ -57,8 +57,11 @@ namespace vcpkg::Environment
|
||||
_wputenv_s(L"PATH", path_buf.c_str());
|
||||
|
||||
static constexpr std::array<int, 3> git_version = {2,0,0};
|
||||
static const std::wstring version_check_cmd = L"git --version 2>&1";
|
||||
const fs::path script = paths.scripts / "fetchDependency.ps1";
|
||||
// TODO: switch out ExecutionPolicy Bypass with "Remove Mark Of The Web" code and restore RemoteSigned
|
||||
ensure_on_path(git_version, L"git --version 2>&1", L"powershell -ExecutionPolicy Bypass scripts\\fetchDependency.ps1 -Dependency git");
|
||||
const std::wstring install_cmd = Strings::wformat(L"powershell -ExecutionPolicy Bypass %s -Dependency git", script.native());
|
||||
ensure_on_path(git_version, version_check_cmd, install_cmd);
|
||||
}
|
||||
|
||||
void ensure_cmake_on_path(const vcpkg_paths& paths)
|
||||
@ -72,8 +75,11 @@ namespace vcpkg::Environment
|
||||
_wputenv_s(L"PATH", path_buf.c_str());
|
||||
|
||||
static constexpr std::array<int, 3> cmake_version = {3,7,2};
|
||||
static const std::wstring version_check_cmd = L"cmake --version 2>&1";
|
||||
const fs::path script = paths.scripts / "fetchDependency.ps1";
|
||||
// TODO: switch out ExecutionPolicy Bypass with "Remove Mark Of The Web" code and restore RemoteSigned
|
||||
ensure_on_path(cmake_version, L"cmake --version 2>&1", L"powershell -ExecutionPolicy Bypass scripts\\fetchDependency.ps1 -Dependency cmake");
|
||||
const std::wstring install_cmd = Strings::wformat(L"powershell -ExecutionPolicy Bypass %s -Dependency cmake", script.native());
|
||||
ensure_on_path(cmake_version, version_check_cmd, install_cmd);
|
||||
}
|
||||
|
||||
void ensure_nuget_on_path(const vcpkg_paths& paths)
|
||||
@ -82,8 +88,11 @@ namespace vcpkg::Environment
|
||||
_wputenv_s(L"PATH", path_buf.c_str());
|
||||
|
||||
static constexpr std::array<int, 3> nuget_version = {1,0,0};
|
||||
static const std::wstring version_check_cmd = L"nuget 2>&1";
|
||||
const fs::path script = paths.scripts / "fetchDependency.ps1";
|
||||
// TODO: switch out ExecutionPolicy Bypass with "Remove Mark Of The Web" code and restore RemoteSigned
|
||||
ensure_on_path(nuget_version, L"nuget 2>&1", L"powershell -ExecutionPolicy Bypass scripts\\fetchDependency.ps1 -Dependency nuget");
|
||||
const std::wstring install_cmd = Strings::wformat(L"powershell -ExecutionPolicy Bypass %s -Dependency nuget", script.native());
|
||||
ensure_on_path(nuget_version, version_check_cmd, install_cmd);
|
||||
}
|
||||
|
||||
static std::vector<std::string> get_VS2017_installation_instances(const vcpkg_paths& paths)
|
||||
|
Loading…
x
Reference in New Issue
Block a user