vcpkg-configuration.json リファレンス
vcpkg-configuration.json
ファイルは、プロジェクトの manifest とvcpkg.json
の一部を形成します。 vcpkg-configuration.json
ファイル内のすべてのフィールドは、最上位プロジェクトからのみ使用されます。依存関係内のvcpkg-configuration.json
ファイルは無視されます。
Manifest モードではvcpkg-configuration.json
vcpkg.json
の横にある別のファイルに入れるか、"vcpkg-configuration" field
に埋め込むことができます。
Classic Mode では、vcpkg は vcpkg インスタンスの root 内のvcpkg-configuration.json
ファイルを使用します。
vcpkg でレジストリを使用する方法の概要については、「 レジストリの使用」を参照してください。
最新の JSON スキーマは、 https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.jsonで使用できます。 Visual Studio や Visual Studio Code などの JSON スキーマがサポートされている IDE では、このファイルを使用してオートコンプリートと構文チェックを提供できます。 ほとんどの IDE では、vcpkg-configuration.json
の"$schema"
をこの URL に設定する必要があります。
例
{
"$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" ]
}
この例では、ライブラリ beicode
およびbeison
のソースとして、プライベート レジストリhttps://github.com/microsoft/vcpkg-docs/tree/vcpkg-registry
を追加します。 他のすべてのポートは、 https://internal/mirror/of/github.com/Microsoft/vcpkg
でホストされているキュレーション カタログの内部ミラーから検出されます。
この例では、ソース コード リポジトリに存在するポートとトリプレットのカスタム オーバーレイも構成します。
最上位フィールド
名前 | 種類 | 説明 |
---|---|---|
default-registry | レジストリ または null | 特定のレジストリがないすべてのポートで使用されるレジストリ |
overlay-ports | string[] | オーバーレイ ポートの場所として使用するパスの一覧 |
overlay-triplets | string[] | オーバーレイ トリプレットとして使用するパスの一覧 |
registries | レジストリ[] | ポートのサブセットに使用する追加のレジストリ |
"default-registry"
より具体的なレジストリがないすべてのポートに使用するレジストリ。 Registry または null。 省略可能。
"packages"
パターンと一致しないポートは、既定のレジストリに解決されます。 既定のレジストリが null
として指定されている場合、一致しないポートは解決に失敗します。 既定のレジストリを省略すると、"builtin-baseline"
の値を"baseline"
として使用してBuiltin Registry に暗黙的に設定されます。
"registries"
特定のポートに使用する追加のレジストリ。 Registries の配列。 省略可能。
"overlay-ports"
ポート オーバーレイ パスの一覧。 文字列の配列。 省略可能。
配列内の各パスには、次のいずれかの名前を付けます。
vcpkg.json
ファイルとportfile.cmake
ファイルを含むポートを含むディレクトリ。または- ポートの名前が付いたディレクトリを含むディレクトリ (
zlib
のvcpkg.json
は、zlib/vcpkg.json
にある必要があります)。
相対パスは、 vcpkg-configuration.json
ファイルを基準にして解決されます。 絶対パスは使用できますが、推奨されません。
"overlay-triplets"
トリプレット オーバーレイ パスの一覧。 文字列の配列。 省略可能。
配列内の各パスは、トリプレット ファイルのディレクトリを指す必要があります (トリプレットのドキュメントを参照してください)。 相対パスは、 vcpkg-configuration.json
ファイルを基準にして解決されます。 絶対パスは使用できますが、推奨されません。
レジストリ フィールド
名前 | Required | タイプ | 説明 |
---|---|---|---|
ベースライン | Git レジストリと組み込みレジストリ | string | このレジストリのすべてのポートに対する最小バージョン制約 |
kind | はい | string | 使用されているレジストリの種類 |
packages | はい (既定値ではない場合) | string | このレジストリから取得するポートの一覧 |
path | ファイルシステム レジストリ | string | ファイルシステム レジストリへのパス |
参照先 | いいえ | string | 使用可能なバージョンに使用する Git リファレンス |
リポジトリ | Git レジストリ | string | Git レジストリの URI |
レジストリ: "kind"
使用されているレジストリの種類。 文字列。 必須。
"kind" 値 |
レジストリの種類 |
---|---|
"filesystem" |
ファイルシステム レジストリ |
"git" |
Git レジストリ |
"builtin" |
組み込みレジストリ |
レジストリ: "baseline"
このレジストリから使用する最小バージョンのレジストリ固有の識別子。 文字列。 必須。
Git Registries および Builtin Registry の場合これは、versions/baseline.json
を含むレジストリのリポジトリ内の 40 文字の git コミット sha です。
Filesystem Registriesでは、レジストリがそのbaseline.json
で定義する任意の有効な json プロパティ名を指定できます。 ファイルシステム レジストリでベースラインが宣言されていない場合、使用される値は "default"
。
レジストリ: "reference"
Git Registry の使用可能なバージョンを一覧表示するために使用される Git リファレンス。 文字列。 省略可能。
指定しない場合、既定値は HEAD
。 このフィールドには、まだ完全に発行されていないバージョンにアクセスするためのトピック ブランチを指定できます。
レジストリ: "repository"
Git Registry の URI。 文字列。 Git レジストリに必要です。
この文字列には、Git で認識される任意の URI 形式を指定できます。
"https://github.com/microsoft/vcpkg"
"git@github.com:microsoft/vcpkg"
"/dev/vcpkg-registry"
相対パスには、将来のバージョンの vcpkg で変更される動作が指定されていません。
レジストリ: "path"
Filesystem Registry へのパス。 文字列。 ファイルシステム レジストリに必要です。
相対パスは、 vcpkg-configuration.json
を基準にして解決されます。
レジストリ: "packages"
このレジストリに割り当てられているポート パターンの一覧。 文字列の配列。 "default-registry"
外のすべてのレジストリに必要です。
各エントリは次のいずれかである必要があります。
- パッケージの名前
- パッケージ名のプレフィックスの後に
*
(ツール バージョン 2022-12-14 で追加)
パッケージ パターンには、小文字、数字、および -
のみを含め、省略可能な末尾の *
を指定できます。
有効なパターンの例:
*
: すべてのポート名に一致しますboost
: ポートのみに一致しますboost
b*
: 文字で始まるポートと一致します。b
boost-*
: プレフィックスで始まるポートと一致しますboost-
無効なパターンの例:
*a
(*
プレフィックスの最後の文字にする必要があります)a**
(1 つの*
のみが許可されます)a+
(+
は有効なパターン文字ではありません)a?
(?
は有効なパターン文字ではありません)
ポート名の解決方法の詳細については、 レジストリの使用に関するドキュメント を参照してください。
vcpkg