diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-08-30 22:42:43 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-08-30 22:42:43 -0700 |
| commit | 62cde6598ddbf30f6872895aaf9715fc87f7b7aa (patch) | |
| tree | 80fa76a83965350ddf0a0d8351b214e77fa948ab /toolsrc/src/vcpkg_Files.cpp | |
| parent | 18945165999d08ba03a4d7660f31002ad77575ee (diff) | |
| download | vcpkg-62cde6598ddbf30f6872895aaf9715fc87f7b7aa.tar.gz vcpkg-62cde6598ddbf30f6872895aaf9715fc87f7b7aa.zip | |
Move function to Files::find_from_PATH()
Diffstat (limited to 'toolsrc/src/vcpkg_Files.cpp')
| -rw-r--r-- | toolsrc/src/vcpkg_Files.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/toolsrc/src/vcpkg_Files.cpp b/toolsrc/src/vcpkg_Files.cpp index 24edb779f..ad1fcebc6 100644 --- a/toolsrc/src/vcpkg_Files.cpp +++ b/toolsrc/src/vcpkg_Files.cpp @@ -2,6 +2,7 @@ #include "vcpkg_Files.h" #include "vcpkg_System.h" +#include "vcpkg_Util.h" #include <thread> namespace vcpkg::Files @@ -193,4 +194,16 @@ namespace vcpkg::Files } System::println(); } + + std::vector<fs::path> find_from_PATH(const std::wstring& name) + { + const std::wstring cmd = Strings::wformat(L"where.exe %s", name); + auto out = System::cmd_execute_and_capture_output(cmd); + if (out.exit_code != 0) + { + return {}; + } + + return Util::fmap(Strings::split(out.output, "\n"), [](auto&& s) { return fs::path(s); }); + } } |
