diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-03-31 17:24:45 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-03-31 17:35:38 -0700 |
| commit | c84765601bbe49a6ec2e252ec681fe843212230f (patch) | |
| tree | 0a67514bdbff13d6b142d6657c542b62076555ad /toolsrc/src/vcpkg_System.cpp | |
| parent | a6aa410f9fb7855b9cc94bae00d15fea8018250e (diff) | |
| download | vcpkg-c84765601bbe49a6ec2e252ec681fe843212230f.tar.gz vcpkg-c84765601bbe49a6ec2e252ec681fe843212230f.zip | |
Move Environment::get_program_files() to System::get_program_files()
Diffstat (limited to 'toolsrc/src/vcpkg_System.cpp')
| -rw-r--r-- | toolsrc/src/vcpkg_System.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/toolsrc/src/vcpkg_System.cpp b/toolsrc/src/vcpkg_System.cpp index 767017f76..589dd1924 100644 --- a/toolsrc/src/vcpkg_System.cpp +++ b/toolsrc/src/vcpkg_System.cpp @@ -202,4 +202,38 @@ namespace vcpkg::System ret.pop_back(); // remove extra trailing null byte return ret; } + + static const fs::path& get_ProgramFiles() + { + static const fs::path p = System::get_environmental_variable(L"PROGRAMFILES").value_or_exit(VCPKG_LINE_INFO); + return p; + } + + const fs::path& get_ProgramFiles_32_bit() + { + static const fs::path p = []() -> fs::path + { + auto value = System::get_environmental_variable(L"ProgramFiles(x86)"); + if (auto v = value.get()) + { + return std::move(*v); + } + return get_ProgramFiles(); + }(); + return p; + } + + const fs::path& get_ProgramFiles_platform_bitness() + { + static const fs::path p = []() -> fs::path + { + auto value = System::get_environmental_variable(L"ProgramW6432"); + if (auto v = value.get()) + { + return std::move(*v); + } + return get_ProgramFiles(); + }(); + return p; + } } |
