Aracılığıyla paylaş


CONTROL dosyaları

Uyarı

CONTROL dosyalar kullanım dışıdır ve yalnızca vcpkg'nin önceki sürümleriyle geriye dönük uyumluluk için korunur. Yeni yazılan herhangi bir bağlantı noktası için vcpkg.json bildirim dosyalarını kullanın.

Var olan CONTROL bir dosyayı dosyaya dönüştürmek için vcpkg.json kullanın./vcpkg format-manifest path/to/CONTROL.

Dosya, CONTROL bağlantı noktasıyla ilgili meta verileri içerir. Söz dizimi Debian control biçimini temel alır, ancak burada belgelenen alanların yalnızca alt kümesini destekleriz.

Alan adları büyük/küçük harfe duyarlıdır ve satırı boşluk bırakmadan başlatır. Paragraflar bir veya daha fazla boş satırla ayrılır.

Kaynak Paragraf

Dosyadaki CONTROL ilk paragraf Kaynak paragraftır. Bir , Versionve Description alanı olmalıdırSource. Alan kümesinin tamamı aşağıda belgelenmiştir.

Örnekler

Source: ace
Version: 6.5.5
Description: The ADAPTIVE Communication Environment
Source: vtk
Version: 8.2.0
Port-Version: 2
Description: Software system for 3D computer graphics, image processing, and visualization
Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c

Tanınan alanlar

Source

Bağlantı noktasının adı.

Yeni bağlantı noktaları eklerken adın vcpkg'nin parçası olmayan diğer projelerle çakışabileceğini unutmayın. Örneğin json , çok fazla başka projeyle çakıyor, bu nedenle ada benzersiz hale getirmek için gibi taocpp-json bir kapsam eklemeniz gerekir. Hem arama altyapısında hem de diğer paket koleksiyonlarında çakışma olmadığını doğrulayın.

Çakışmaları denetlemek için paket koleksiyonları:

Sürüm

Kitaplık sürümü.

Bu alan, , _veya -de içerebilen .bir alfasayısal dizedir. Sürümleri sıralama girişiminde bulunulmaması; tüm sürümler bit dizeleri olarak değerlendirilir ve yalnızca eşitlik için değerlendirilir.

Etiketli yayın bağlantı noktaları için aşağıdaki kuralı izleriz:

  1. Bağlantı noktası gibi va.b.cbir şema izlerse, baştaki vöğesini kaldırırız. Bu durumda olur a.b.c.
  2. Bağlantı noktası gibi curl-7_65_1bir sürümde kendi adını içeriyorsa, baştaki adı kaldırırız: 7_65_1

Sıralı yayın bağlantı noktaları için işlemeye sizin tarafınızdan erişildiği tarihi kullanırız ve olarak YYYY-MM-DDbiçimlendirilir. Başka bir şekilde de belirtildi: Birinin bir zaman makinesi varsa ve bu tarihe gitseydi, bu işlemeyi en son ana makine olarak görürdü.

Örneğin, verilen:

  1. En son işleme 2019-04-19 tarihinde yapılmıştır
  2. Geçerli sürüm dizesi şudur: 2019-02-14-1
  3. Bugünün tarihi 2019-06-01.

Ardından kaynak sürümü bugün güncelleştirirseniz sürümü 2019-06-01vermelisiniz.

Bağlantı Noktası Sürümü

Bağlantı noktasının sürümü.

Bu alan negatif olmayan bir tamsayıdır. Bağlantı noktası dosyasını temel kitaplığın sürümünden ayrı olarak sürüme izin verir; Bir bağlantı noktasında değişiklik yaparsanız, kitaplığın temel sürümünü değiştirmeden bu alanı bir artırmalısınız (alanından başlayarak 0, hiçbir Port-Version alana eşdeğer değildir). Temel alınan kitaplığın sürümü yükseltildiğinde, bu alan yeniden 0 olarak ayarlanmalıdır (örneğin, alanı silin Port-Version ).

Örnekler
Version: 1.0.5
Port-Version: 2
Version: 2019-03-21

Açıklama

Kitaplığın açıklaması.

Kural gereği, açıklamanın ilk satırı kitaplığın özetidir. İsteğe bağlı ayrıntılı bir açıklama aşağıdadır. Ayrıntılı açıklama, boşlukla başlayan birden çok satır olabilir.

Örnekler
Description: C++ header-only JSON library
Description: Mosquitto is an open source message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1.
  MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for "machine
  to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino.

Giriş sayfası

Kullanıcının ek belgeleri veya özgün kaynak kodunu bulabileceği kitaplığın giriş sayfasının URL'si.

Örnek:

Homepage: https://github.com/Microsoft/vcpkg

DerlemeYe Göre Değişir

Kitaplığın bağımlılığı olan vcpkg bağlantı noktalarının virgülle ayrılmış listesi.

vcpkg, yalnızca derleme bağımlılıkları ile çalışma zamanı bağımlılıkları arasında ayrım yapmaz. Kitaplığı başarıyla kullanmak için gereken bağımlılıkların tam listesi belirtilmelidir.

Örneğin: websocketpp yalnızca üst bilgi kitaplığıdır ve bu nedenle yükleme zamanında herhangi bir bağımlılık gerektirmez. Ancak aşağı akış kullanıcılarının kitaplığı kullanabilmesi için boost ve openssl gerekir. Bu nedenle websocketpp, boost ve openssl değerlerini bağımlılık olarak listeler.

Bağlantı noktası başka bir kitaplığın isteğe bağlı özelliklerine bağımlıysa bunlar söz dizimi kullanılarak portname[featurelist] belirtilebilir. Bağlantı noktası bağımlılıktan herhangi bir özellik gerektirmiyorsa, bunun olarak portname[core]belirtilmesi gerekir.

Bağımlılıklar, farklı gereksinimleri desteklemek için hedef üçlüye göre filtrelenebilir. Bu filtreler aşağıdaki Destekler alanıyla aynı söz dizimini kullanır ve bağlantı noktası adı ve özellik listesinin ardından parantez içindedir.

Örnek
Build-Depends: rapidjson, curl[core,openssl] (!windows), curl[core,winssl] (windows)

Varsayılan Özellikler

Varsayılan olarak yüklenecek isteğe bağlı bağlantı noktası özelliklerinin virgülle ayrılmış listesi.

Bu alan isteğe bağlıdır.

Örnek
Default-Features: dynamodb, s3, kinesis

Destekle -yen

Bağlantı noktasının üçlü için başarıyla oluşturulması beklendiğinde true olarak değerlendirilen ifade.

Şu anda bu alan yalnızca CI testinde bağlantı noktalarını atlamak için kullanılır. Gelecekte bu mekanizma, kullanıcıları belirli bir yükleme ağacının başarılı olması beklenmediği konusunda önceden uyarmaya yöneliktir. Bu nedenle, bu alan iyimser bir şekilde kullanılmalıdır; bir bağlantı noktasının %10 oranında başarılı olması beklenen durumlarda hala "destekleniyor" olarak işaretlenmelidir.

Desteklenen tanımlayıcıların listesi için bildirim belgelerindeki vcpkg.json Platform İfadeleri'ne bakın.

Örnek
Supports: !(uwp|arm)

Özellik Paragrafları

Dosyalarda CONTROL birden çok isteğe bağlı özellik belirtilebilir. Bir ve Description alanı olmalıdırFeature. İsteğe bağlı olarak bir Build-Depends alanı olabilir. Diğer paragraflardan bir veya daha fazla boş satırla ayrılmalıdır.

Örnek

Source: vtk
Version: 8.2.0-2
Description: Software system for 3D computer graphics, image processing, and visualization
Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c

Feature: openvr
Description: OpenVR functionality for VTK
Build-Depends: sdl2, openvr

Feature: qt
Description: Qt functionality for VTK
Build-Depends: qt5

Feature: mpi
Description: MPI functionality for VTK
Build-Depends: mpi, hdf5[parallel]

Feature: python
Description: Python functionality for VTK
Build-Depends: python3

Tanınan alanlar

Özellik

Özelliğin adı.

Açıklama

Bağlantı noktası Description alanıyla aynı söz dizimini kullanan özelliğin açıklaması.

DerlemeYe Göre Değişir

Bu özelliği oluşturmak ve kullanmak için gereken bağımlılıkların listesi.

Yükleme sırasında, seçilen tüm özelliklerdeki bağımlılıklar birleştirilir ve derleme için tam bağımlılık listesi oluşturulur. Bu alan, Kaynak Paragraf'takiyle aynı söz dizimini Build-Depends izler.