vcpkg-configuration.json Başvurusu
Dosyavcpkg-configuration.json
, ile vcpkg.json
birlikte proje bildiriminin bir bölümünü oluşturur. Dosyadaki vcpkg-configuration.json
tüm alanlar yalnızca üst düzey projeden kullanılır; vcpkg-configuration.json
herhangi bir bağımlılıktaki dosyalar yoksayılır.
Bildirim Modunda, vcpkg-configuration.json
yanında vcpkg.json
ayrı bir dosyada olabilir veya içine eklenebilir"vcpkg-configuration" field
.
Klasik Modda vcpkg, vcpkg örneğinin kökündeki dosyayı kullanırvcpkg-configuration.json
.
Vcpkg ile kayıt defterlerini kullanmaya genel bakış için bkz . Kayıt Defterlerini Kullanma.
En son JSON Şemasına adresinden https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.jsonulaşabilirsiniz. Visual Studio ve Visual Studio Code gibi JSON Şeması desteğine sahip IDE'ler, otomatik tamamlama ve söz dizimi denetimi sağlamak için bu dosyayı kullanabilir. Çoğu IDE için, url'nizde vcpkg-configuration.json
bu URL'yi ayarlamanız "$schema"
gerekir.
Örnek
{
"$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" ]
}
Bu örnek, https://github.com/microsoft/vcpkg-docs/tree/vcpkg-registry
ve beison
kitaplıklarının beicode
kaynağı olarak özel bir kayıt defteri ekler. Diğer tüm bağlantı noktaları, konumunda https://internal/mirror/of/github.com/Microsoft/vcpkg
barındırılan Curated Catalog'ın iç bir yansıtmasından bulunur.
Örnek ayrıca kaynak kod deposunda bulunan bağlantı noktaları ve üçlüler için özel katman yapılandırmaları da sağlar.
Üst Düzey Alanlar
Adı | Tür | Açıklama |
---|---|---|
default-registry | Kayıt defteri veya null | Belirli bir kayıt defteri olmayan tüm bağlantı noktaları için kullanılan kayıt defteri |
yer paylaşımlı bağlantı noktaları | string[] | Katman bağlantı noktaları olarak kullanılacak yolların listesi |
yer paylaşımlı üçlüler | string[] | Katman üçlüleri olarak kullanılacak yolların listesi |
Kayıt | Kayıt Defteri[] | Bağlantı noktalarının alt kümeleri için kullanılacak ek kayıt defterleri |
"default-registry"
Daha belirli bir kayıt defteri olmayan tüm bağlantı noktaları için kullanılacak kayıt defteri. Kayıt defteri veya null. isteğe bağlı.
Herhangi bir "packages"
desenle eşleşmeyen bağlantı noktaları varsayılan kayıt defterine çözümlenir. Varsayılan kayıt defteri olarak null
belirtilirse, eşleşmeyen bağlantı noktaları çözümlenmeyecektir. Varsayılan kayıt defteri atlanırsa, değeri "builtin-baseline"
olarak "baseline"
kullanılarak örtük olarak Bir Builtin Registry olarak ayarlanır.
"registries"
Belirli bağlantı noktaları için kullanılacak ek kayıt defterleri. Kayıt Defterleri dizisi. isteğe bağlı.
"overlay-ports"
Bağlantı noktası katman yollarının listesi. Dize dizisi. isteğe bağlı.
Dizideki her yol aşağıdakilerden birine işaret etmelidir:
- ve içeren
vcpkg.json
bir bağlantı noktası diziniportfile.cmake
- Bağlantı noktalarından (adresinde olmalıdır
zlib/vcpkg.json
) adlı bağlantı noktasızlib
vcpkg.json
dizinlerini içeren bir dizin.
Göreli yollar dosyaya vcpkg-configuration.json
göre çözümlenir. Mutlak yollar kullanılabilir ancak önerilmez.
"overlay-triplets"
Üçlü katman yollarının listesi. Dize dizisi. isteğe bağlı.
Dizideki her yol üçlü dosyaların dizinine işaret etmelidir (üçlü dosyalar belgelerine bakın). Göreli yollar dosyaya vcpkg-configuration.json
göre çözümlenir. Mutlak yollar kullanılabilir ancak önerilmez.
Kayıt Defteri Alanları
Veri Akışı Adı | Zorunlu | Türü | Açıklama |
---|---|---|---|
taban çizgisi | Git ve Yerleşik Kayıt Defterleri | Dize | Bu kayıt defterindeki tüm bağlantı noktalarında en düşük sürüm kısıtlaması |
tür | Yes | Dize | Kullanılan kayıt defteri türü |
Paket | Evet, varsayılan değilse | Dize | Bu kayıt defterinden gelecek bağlantı noktalarının listesi |
yol | Dosya Sistemi Kayıt Defteri | Dize | Dosya Sistemi kayıt defterinin yolu |
referans | Hayır | Dize | Kullanılabilir sürümler için kullanılacak Git başvurusu |
Depo | Git Kayıt Defteri | Dize | Git kayıt defterinin URI'sini |
Kayıt Defteri: "kind"
Kullanılan kayıt defteri türü. Bir dize. Gerekli.
"kind" Değer |
Kayıt Defteri Türü |
---|---|
"filesystem" |
Dosya Sistemi Kayıt Defteri |
"git" |
Git Kayıt Defteri |
"builtin" |
Yerleşik Kayıt Defteri |
Kayıt Defteri: "baseline"
Bu kayıt defterinden kullanılacak en düşük sürümlerin kayıt defterine özgü tanımlayıcısı. Bir dize. Gerekli.
Git Kayıt Defterleri ve Builtin Registry için bu, kayıt defterinin deposunda bir içeren 40 karakterlik git versions/baseline.json
commit sha'dır.
Dosya Sistemi Kayıt Defterleri için, kayıt defterinin üzerinde baseline.json
tanımladığı geçerli herhangi bir json özellik adı olabilir. Dosya sistemi kayıt defteri bir taban çizgisi bildirmezse, kullanılan değer olur "default"
.
Kayıt Defteri: "reference"
Git Kayıt Defteri'nin kullanılabilir sürümlerini listelemek için kullanılan Git başvurusu. Bir dize. isteğe bağlı.
Belirtilmezse, varsayılan olarak olur HEAD
. Bu alan, henüz tam olarak yayımlanmamış sürümlere erişmek için bir konu dalı olabilir.
Kayıt Defteri: "repository"
Git Kayıt Defteri'nin URI'sini. Bir dize. Git Kayıt Defterleri için gereklidir.
Dize, Git'in anladığı herhangi bir URI biçimi olabilir:
"https://github.com/microsoft/vcpkg"
"git@github.com:microsoft/vcpkg"
"/dev/vcpkg-registry"
Göreli yollar, vcpkg'nin gelecek sürümlerinde değişecek belirtilmemiş davranışlara sahiptir.
Kayıt Defteri: "path"
Dosya Sistemi Kayıt Defteri yolu. Bir dize. Dosya Sistemi Kayıt Defterleri için gereklidir.
Göreli yollar ile ilgili olarak vcpkg-configuration.json
çözümlenir.
Kayıt Defteri: "packages"
Bu kayıt defterine atanan bağlantı noktası desenlerinin listesi. Dize dizisi. dışındaki "default-registry"
tüm kayıt defterleri için gereklidir.
Her girdi aşağıdakilerden biri olmalıdır:
- Paketin adı
- Bir paket adı ön eki ve ardından
*
(Araç sürümü 2022-12-14'e eklendi)
Paket desenleri yalnızca küçük harfler, basamaklar ve -
isteğe bağlı bir sondaki *
ile içerebilir.
Geçerli desen örnekleri:
*
: Tüm bağlantı noktası adlarını eşleştirirboost
: Yalnızca bağlantı noktasıyla eşleşirboost
b*
: Harfle başlayan bağlantı noktalarını eşleştirirb
boost-*
: Ön ekiyle başlayan bağlantı noktalarını eşleştirirboost-
Geçersiz desen örnekleri:
*a
(*
ön ekteki son karakter olmalıdır)a**
(yalnızca bir taneye*
izin verilir)a+
(+
geçerli bir desen karakteri değil)a?
(?
geçerli bir desen karakteri değil)
Bağlantı noktası adlarının nasıl çözüldüğü hakkında daha fazla bilgi için Kayıt Defterlerini Kullanma belgelerine bakın.