cemu-vcpkg/toolsrc/include/vcpkg_paths.h
Robert Schumacher f4196f1638 [vcpkg] Move find_available_package, find_available_port_file into vcpkg_paths.
`vcpkg_paths` is responsible for binding the concrete filesystem representation to the abstract `package_spec`.
2016-09-23 14:25:17 -07:00

36 lines
1001 B
C++

#pragma once
#include <filesystem>
#include "expected.h"
#include "package_spec.h"
namespace vcpkg
{
namespace fs = std::tr2::sys;
struct vcpkg_paths
{
static expected<vcpkg_paths> create(const std::tr2::sys::path& vcpkg_root_dir);
fs::path find_available_package(const package_spec& spec) const;
fs::path find_available_port_file(const package_spec& spec) const;
std::tr2::sys::path root;
std::tr2::sys::path packages;
std::tr2::sys::path buildtrees;
std::tr2::sys::path downloads;
std::tr2::sys::path ports;
std::tr2::sys::path installed;
std::tr2::sys::path triplets;
std::tr2::sys::path buildsystems;
std::tr2::sys::path buildsystems_msbuild_targets;
std::tr2::sys::path vcpkg_dir;
std::tr2::sys::path vcpkg_dir_status_file;
std::tr2::sys::path vcpkg_dir_info;
std::tr2::sys::path vcpkg_dir_updates;
std::tr2::sys::path ports_cmake;
};
}