aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg_paths.cpp
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-03-28 15:05:55 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-03-28 18:59:57 -0700
commit42bd55e3ae815e43181facfdc161d29804014f26 (patch)
treed0e4db89947aa557ec6e3bf6065cfb43cbc796ff /toolsrc/src/vcpkg_paths.cpp
parent67ce764c2ea7483860a3ad61441608d8978605ae (diff)
downloadvcpkg-42bd55e3ae815e43181facfdc161d29804014f26.tar.gz
vcpkg-42bd55e3ae815e43181facfdc161d29804014f26.zip
Rework optional<T>
Diffstat (limited to 'toolsrc/src/vcpkg_paths.cpp')
-rw-r--r--toolsrc/src/vcpkg_paths.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/toolsrc/src/vcpkg_paths.cpp b/toolsrc/src/vcpkg_paths.cpp
index 732c4a4fc..86106028a 100644
--- a/toolsrc/src/vcpkg_paths.cpp
+++ b/toolsrc/src/vcpkg_paths.cpp
@@ -47,10 +47,10 @@ namespace vcpkg
if (it != candidate_paths.cend())
{
- return std::make_unique<fs::path>(std::move(*it));
+ return std::move(*it);
}
- return nullptr;
+ return nullopt;
}
static std::vector<fs::path> find_from_PATH(const std::wstring& name)
@@ -101,9 +101,10 @@ namespace vcpkg
candidate_paths.push_back(Environment::get_ProgramFiles_platform_bitness() / "CMake" / "bin" / "cmake.exe");
candidate_paths.push_back(Environment::get_ProgramFiles_32_bit() / "CMake" / "bin");
- if (auto ret = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version))
+ const optional<fs::path> path = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version);
+ if (auto p = path.get())
{
- return *ret;
+ return *p;
}
return fetch_dependency(scripts_folder, L"cmake", downloaded_copy);
@@ -121,9 +122,10 @@ namespace vcpkg
candidate_paths.push_back(downloaded_copy);
candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
- if (auto ret = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version))
+ auto path = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version);
+ if (auto p = path.get())
{
- return *ret;
+ return *p;
}
return fetch_dependency(scripts_folder, L"nuget", downloaded_copy);
@@ -143,9 +145,10 @@ namespace vcpkg
candidate_paths.push_back(Environment::get_ProgramFiles_platform_bitness() / "git" / "cmd" / "git.exe");
candidate_paths.push_back(Environment::get_ProgramFiles_32_bit() / "git" / "cmd" / "git.exe");
- if (auto ret = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version))
+ const optional<fs::path> path = find_if_has_equal_or_greater_version(candidate_paths, version_check_arguments, expected_version);
+ if (auto p = path.get())
{
- return *ret;
+ return *p;
}
return fetch_dependency(scripts_folder, L"git", downloaded_copy);