aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg_Files.cpp
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-08-30 22:42:43 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-08-30 22:42:43 -0700
commit62cde6598ddbf30f6872895aaf9715fc87f7b7aa (patch)
tree80fa76a83965350ddf0a0d8351b214e77fa948ab /toolsrc/src/vcpkg_Files.cpp
parent18945165999d08ba03a4d7660f31002ad77575ee (diff)
downloadvcpkg-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.cpp13
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); });
+ }
}