Referenční informace k vcpkg-configuration.json
Soubor vcpkg-configuration.json
tvoří součást manifestu projektu spolu s vcpkg.json
. Všechna pole v vcpkg-configuration.json
souboru se používají jenom z projektu nejvyšší úrovně – vcpkg-configuration.json
soubory v jakýchkoli závislostech se ignorují.
V režimuvcpkg-configuration.json
manifestu může být v samostatném souboru vedle vcpkg.json
nebo může být vložen do "vcpkg-configuration" field
souboru .
V klasickém režimu použije vcpkg-configuration.json
vcpkg soubor v kořenovém adresáři instance vcpkg.
Přehled použití registrů s vcpkg najdete v tématu Použití registrů.
Nejnovější schéma JSON je k dispozici na adrese https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json. Integrované vývojové prostředí s podporou schématu JSON, jako je Visual Studio a Visual Studio Code, můžou tento soubor použít k zajištění automatického dokončování a kontroly syntaxe. U většiny prostředí IDE byste měli nastavit "$schema"
tuto vcpkg-configuration.json
adresu URL.
Příklad
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json",
"default-registry": {
"kind": "git",
"repository": "https://internal/mirror/of/github.com/Microsoft/vcpkg",
"baseline": "eefee7408133f3a0fef711ef9c6a3677b7e06fd7"
},
"registries": [
{
"kind": "git",
"repository": "https://github.com/microsoft/vcpkg-docs",
"reference": "vcpkg-registry",
"baseline": "768f6a3ad9f9b6c4c2ff390137690cf26e3c3453",
"packages": [ "beicode", "beison" ]
}
],
"overlay-ports": [
"./team-ports",
"./custom-ports"
],
"overlay-triplets": [ "./my-triplets" ]
}
Tento příklad přidá privátní registr , https://github.com/microsoft/vcpkg-docs/tree/vcpkg-registry
jako zdroj pro knihovny beicode
a beison
. Všechny ostatní porty jsou nalezeny z interního zrcadla kurátorovaného katalogu hostovaného na https://internal/mirror/of/github.com/Microsoft/vcpkg
adrese .
Příklad také konfiguruje vlastní překryvné vrstvy pro porty a triplety, které jsou přítomné v úložišti zdrojového kódu.
Pole nejvyšší úrovně
Name | Typ | Popis |
---|---|---|
default-registry | Registr nebo null | Registr používaný pro všechny porty bez konkrétního registru |
překryvné porty | string[] | Seznam cest, které se mají použít jako překryvné porty |
překryvné trojité | string[] | Seznam cest, které se mají použít jako překryvné triplety |
Rejstříků | Registr[] | Další registry, které se mají použít pro podmnožinu portů |
"default-registry"
Registr, který se má použít pro všechny porty bez konkrétnějšího registru. Registr nebo null. Nepovinné.
Porty, které neodpovídají žádnému "packages"
vzoru, se přeloží na výchozí registr. Pokud je výchozí registr zadaný jako null
, porty, které se neshodují, se nepodaří přeložit. Pokud je výchozí registr vynechán, bude implicitně nastaven na Předdefinovaný registr pomocí hodnoty "builtin-baseline"
jako "baseline"
.
"registries"
Další registry, které se mají použít pro konkrétní porty. Pole registrů. Nepovinné.
"overlay-ports"
Seznam překryvných cest portů Pole řetězců. Nepovinné.
Každá cesta v poli musí odkazovat na jednu z těchto hodnot:
- Adresář portu obsahující
vcpkg.json
aportfile.cmake
- Adresář obsahující adresáře portů pojmenované za porty (
zlib
vcpkg.json
musí být nazlib/vcpkg.json
adrese ).
Relativní cesty jsou vyřešeny vzhledem k vcpkg-configuration.json
souboru. Absolutní cesty je možné použít, ale nedoporučuje se.
"overlay-triplets"
Seznam trojitých překryvných cest Pole řetězců. Nepovinné.
Každá cesta v poli musí odkazovat na adresář trojitých souborů (viz dokumentace k triplets). Relativní cesty jsou vyřešeny vzhledem k vcpkg-configuration.json
souboru. Absolutní cesty je možné použít, ale nedoporučuje se.
Pole registru
Název | Požadováno | Type | Popis |
---|---|---|---|
účaří | Git a předdefinované registry | string | Omezení minimální verze na všech portech z tohoto registru |
laskavý | Ano | string | Typ používaného registru |
balíky | Ano, pokud není výchozí | string | Seznamportůch |
path | Registr systému souborů | string | Cesta k registru systému souborů |
odkaz | No | string | Referenční informace k Gitu pro dostupné verze |
skladiště | Git Registry | string | Identifikátor URI registru Git |
Registr: "kind"
Typ použitého registru. Řetězec. Povinný:
"kind" Hodnota |
Typ registru |
---|---|
"filesystem" |
Registr systému souborů |
"git" |
Git Registry |
"builtin" |
Integrovaný registr |
Registr: "baseline"
Identifikátor specifický pro registr pro minimální verze, které se mají použít z tohoto registru. Řetězec. Povinný:
V případě registrů Gitu a integrovaného registru se jedná o 40znakovou sha potvrzení gitu v úložišti registru, které obsahuje versions/baseline.json
.
V případě registrů systému souborů může být libovolný platný název vlastnosti JSON, který registr definuje ve svém baseline.json
registru . Pokud registr systému souborů deklaruje směrný plán, použije se "default"
hodnota .
Registr: "reference"
Odkaz Gitu použitý k výpisu dostupných verzí registru Git. Řetězec. Nepovinné.
Pokud není zadáno, je výchozí hodnota HEAD
. Toto pole může být větev tématu pro přístup k verzím, které ještě nejsou plně publikované.
Registr: "repository"
Identifikátor URI registru Git. Řetězec. Vyžaduje se pro registry Gitu.
Řetězec může být libovolný formát identifikátoru URI, kterému Git rozumí:
"https://github.com/microsoft/vcpkg"
"git@github.com:microsoft/vcpkg"
"/dev/vcpkg-registry"
Relativní cesty nemají zadané chování, které se změní v budoucích verzích vcpkg.
Registr: "path"
Cesta k registru systému souborů. Řetězec. Vyžaduje se pro registry systému souborů.
Relativní cesty jsou vyřešeny vzhledem k vcpkg-configuration.json
.
Registr: "packages"
Seznam vzorů portů přiřazených k tomuto registru. Pole řetězců. Vyžadováno pro všechny registry mimo "default-registry"
.
Každá položka musí být následující:
- Název balíčku
- Předpona názvu balíčku následovaná
*
(přidáno v nástroji verze 2022-12-14)
Vzory balíčků mohou obsahovat pouze malá písmena, číslice a -
, s volitelným koncovým znakem *
.
Příklady platných vzorů:
*
: Odpovídá všem názvům portů.boost
: Odpovídá pouze portu.boost
b*
: Odpovídá portům, které začínají písmenem.b
boost-*
: Odpovídá portům, které začínají předponou.boost-
Příklady neplatných vzorů:
*a
(*
musí být posledním znakem v předponě).a**
(Je povolen pouze jeden*
)a+
(+
není platný znak vzoru)a?
(?
není platný znak vzoru)
Další informace o překladu názvů portů najdete v dokumentaci k používání registrů.