aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include/BinaryParagraph.h
blob: f411b3c39ed32b503a3b50e178af1bdfbd5329ba (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
#pragma once

#include "PackageSpec.h"
#include "SourceParagraph.h"
#include <unordered_map>

namespace vcpkg
{
    /// <summary>
    /// Built package metadata
    /// </summary>
    struct BinaryParagraph
    {
        BinaryParagraph();
        explicit BinaryParagraph(std::unordered_map<std::string, std::string> fields);
        BinaryParagraph(const SourceParagraph& spgh, const Triplet& triplet);
        BinaryParagraph::BinaryParagraph(const SourceParagraph& spgh,
                                         const FeatureParagraph& fpgh,
                                         const Triplet& triplet);

        std::string displayname() const;

        std::string fullstem() const;

        std::string dir() const;

        PackageSpec spec;
        std::string version;
        std::string description;
        std::string maintainer;
        std::string feature;
        std::vector<std::string> default_features;
        std::vector<std::string> depends;
    };

    void serialize(const BinaryParagraph& pgh, std::string& out_str);
}