CONTROL ファイル

警告

CONTROL ファイルは非推奨であり、以前のバージョンの vcpkg との下位互換性のためにのみ保持されます。 新しく作成されたポートvcpkg.jsonマニフェスト ファイルを使用します。

既存CONTROLのファイルをファイルに変換するためにvcpkg.json使用./vcpkg format-manifest path/to/CONTROLします。

ファイルには CONTROL 、ポートに関するメタデータが含まれています。 構文は Debian control 形式基づいていますが、ここで説明するフィールドのサブセットのみがサポートされています。

フィールド名では大文字と小文字が区別され、先頭に空白を付けずに行を開始します。 段落は 1 つ以上の空の行で区切ります。

ソース段落

ファイルの最初の CONTROL 段落はソース段落です。 フィールドが必要ですSourceVersionDescription。 フィールドの完全なセットを以下に示します。

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

認識されるフィールド

ソース

ポートの名前。

新しいポートを追加するときは、vcpkg の一部ではない他のプロジェクトと名前が競合する可能性があることに注意してください。 たとえば、 json 他のプロジェクトが多すぎるため、名前 taocpp-json にスコープを追加して一意にする必要があります。 検索エンジンと他のパッケージ コレクションで競合がないことを確認します。

競合のチェックするパッケージ コレクション:

バージョン

ライブラリのバージョン。

このフィールドは、英数字の文字列で、または .. _- バージョンの注文は試行されません。すべてのバージョンはビット文字列として扱われ、等しいかどうかのみが評価されます。

タグ付きリリース ポートの場合は、次の規則に従います。

  1. ポートが次のような va.b.cスキームに従っている場合は、先頭 vを削除します。 この場合、次のようになります a.b.c
  2. ポートに次のような curl-7_65_1独自の名前が含まれている場合は、先頭の名前を削除します。 7_65_1

ローリング リリース ポートの場合は、コミットが ユーザーによってアクセスされた日付を使用します。形式は次のとおりです YYYY-MM-DD。 別の方法として、誰かがタイムマシンを持っていて、その日付に行った場合、このコミットは最新のマスターと見なされます。

次に例を示します。

  1. 最新のコミットは 2019-04-19 に行われました
  2. 現在のバージョン文字列は次の値です。 2019-02-14-1
  3. 今日の日付は 2019-06-01 です。

その後、ソースバージョンを今日更新する場合は、バージョン 2019-06-01を与える必要があります。

Port-Version

ポートのバージョン。

このフィールドは負以外の整数です。 これにより、基になるライブラリのバージョンとは別にポート ファイルをバージョン管理できます。ライブラリの基になるバージョンを変更せずにポートに変更を加えた場合は、このフィールドを 1 ずつインクリメントする必要があります (フィールドなしPort-Versionから始まります0)。 基になるライブラリのバージョンがアップグレードされたら、このフィールドを (フィールドを 0 削除 Port-Version する) に戻す必要があります。

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

説明

ライブラリの説明。

慣例により、説明の最初の行はライブラリの概要です。 省略可能な詳細な説明を次に示します。 詳細な説明には複数の行を指定できます。すべて空白で始まります。

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.

Homepage

ユーザーが追加のドキュメントまたは元のソース コードを検索できるライブラリのホームページの URL。

例:

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

Build-Depends

ライブラリが依存関係を持つ vcpkg ポートのコンマ区切りリスト。

vcpkg では、ビルドのみの依存関係とランタイムの依存関係は区別されません。 ライブラリを正常に使用するために必要な依存関係の完全な一覧を指定する必要があります。

たとえば、websocketpp はヘッダーのみのライブラリであるため、インストール時に依存関係は必要ありません。 ただし、ダウンストリーム ユーザーは、ライブラリを利用するために boost と openssl が必要です。 したがって、websocketpp では、boost と openssl が依存関係として一覧表示されます。

ポートが別のライブラリのオプション機能に依存している場合は、構文を portname[featurelist] 使用して指定できます。 ポートに依存関係の機能が必要ない場合は、次のように portname[core]指定する必要があります。

依存関係は、異なる要件をサポートするために、ターゲットトリプレットに基づいてフィルター処理できます。 これらのフィルターでは、以下の [サポート] フィールドと同じ構文が使用され、ポート名と機能の一覧の後にかっこで囲まれています。

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

既定の機能

既定でインストールする省略可能なポート機能のコンマ区切りの一覧。

このフィールドは省略可能です。

Default-Features: dynamodb, s3, kinesis

サポート

ポートがトリプレットに対して正常にビルドされることが予想される場合に true に評価される式。

現時点では、このフィールドは CI テストでのみポートをスキップするために使用されます。 今後、このメカニズムは、特定のインストール ツリーが正常に実行されないことをユーザーに事前に警告することを目的としています。 したがって、このフィールドは楽観的に使用する必要があります。ポートが 10% の時間成功すると予想される場合は、引き続き "サポートされている" とマークする必要があります。

サポートされている識別子の一覧についてはvcpkg.jsonマニフェスト ドキュメントのプラットフォーム式を参照してください。

Supports: !(uwp|arm)

機能の段落

ファイルには複数のオプション機能を CONTROL 指定できます。 フィールドとDescriptionフィールドがFeature必要です。 必要に応じてフィールドを持 Build-Depends つことができます。 他の段落から 1 つ以上の空の行で区切る必要があります。

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

認識されるフィールド

機能

機能の名前。

説明

ポート Description フィールドと同じ構文を使用した機能の説明。

Build-Depends

この機能をビルドして使用するために必要な依存関係の一覧。

インストール時に、選択したすべての機能の依存関係が結合され、ビルドの完全な依存関係リストが生成されます。 このフィールドは、ソース段落と同じ構文 Build-Depends に従います。