aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include/vcpkg_paths.h
blob: a2932070d574d5790fb8628e90a6ee3a55303a06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once
#include "filesystem_fs.h"
#include "expected.h"
#include "package_spec.h"
#include "BinaryParagraph.h"

namespace vcpkg
{
    struct vcpkg_paths
    {
        static expected<vcpkg_paths> create(const fs::path& vcpkg_root_dir);

        fs::path package_dir(const package_spec& spec) const;
        fs::path port_dir(const package_spec& spec) const;
        fs::path build_info_file_path(const package_spec& spec) const;
        fs::path listfile_path(const BinaryParagraph& pgh) const;

        bool is_valid_triplet(const triplet& t) const;

        fs::path root;
        fs::path packages;
        fs::path buildtrees;
        fs::path downloads;
        fs::path ports;
        fs::path installed;
        fs::path triplets;

        fs::path buildsystems;
        fs::path buildsystems_msbuild_targets;

        fs::path vcpkg_dir;
        fs::path vcpkg_dir_status_file;
        fs::path vcpkg_dir_info;
        fs::path vcpkg_dir_updates;

        fs::path ports_cmake;
    };
}