vcpkg-configuration.json參考
檔案vcpkg-configuration.json
會形成專案指令清單的一部分,以及 vcpkg.json
。 檔案中的所有 vcpkg-configuration.json
欄位只會從最上層專案使用 -- vcpkg-configuration.json
會忽略任何相依性的檔案。
在 指令清單模式中, vcpkg-configuration.json
可以位於 旁邊的 vcpkg.json
個別檔案中,也可以內嵌在 中 "vcpkg-configuration" field
。
在傳統模式中,vcpkg 會使用 vcpkg-configuration.json
vcpkg 實例根目錄中的檔案。
如需搭配 vcpkg 使用登錄的概觀,請參閱 使用登錄。
最新的 JSON 架構可在取得 https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json。 具有 JSON 架構支援的 IDE,例如 Visual Studio 和 Visual Studio Code,可以使用此檔案來提供自動完成和語法檢查。 對於大部分的 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" ]
}
本範例會將私人登錄 https://github.com/microsoft/vcpkg-docs/tree/vcpkg-registry
新增為連結庫 beicode
和 beison
的來源。 從裝載於 https://internal/mirror/of/github.com/Microsoft/vcpkg
之策展目錄的內部鏡像中找到所有其他埠。
此範例也會為原始程式碼存放庫中存在的埠和三重疊設定自定義重疊。
最上層欄位
名稱 | 類型 | 描述 |
---|---|---|
default-registry | 登錄 或 Null | 用於沒有特定登錄之所有埠的登錄 |
overlay-ports | string[] | 要作為重迭埠位置使用的路徑清單 |
overlay-triplets | string[] | 要作為重迭三元組使用的路徑清單 |
登記處 | Registry[] | 用於埠子集的其他登錄 |
"default-registry"
要用於不含更特定登錄之所有埠的登錄。 登錄或 Null。 選擇性。
不符合任何 "packages"
模式的埠會解析為預設登錄。 如果預設登錄指定為 null
,不符合的埠將無法解析。 如果省略默認登錄,則會使用的值"builtin-baseline"
隱含地設定為 "baseline"
Builtin Registry。
"registries"
要用於特定埠的其他登錄。 登錄陣列。 選擇性。
"overlay-ports"
埠重疊路徑的清單。 字串的陣列。 選擇性。
陣列中的每個路徑都必須命名為:
- 包含埠、具有
vcpkg.json
和 檔案的portfile.cmake
目錄,或 - 目錄,包含以埠命名的目錄(
zlib
vcpkg.json
必須位於zlib/vcpkg.json
)。
相對路徑會相對於 vcpkg-configuration.json
檔案進行解析。 您可以使用絕對路徑,但不建議使用。
"overlay-triplets"
三重迭路徑的清單。 字串的陣列。 選擇性。
陣列中的每個路徑都必須指向三重檔案的目錄(請參閱三重檔)。 相對路徑會相對於 vcpkg-configuration.json
檔案進行解析。 您可以使用絕對路徑,但不建議使用。
登錄欄位
名稱 | 必要 | 類型 | 描述 |
---|---|---|---|
基線 | Git 和 Builtin 登錄 | 字串 | 此登錄中所有埠的最低版本限制 |
種類 | Yes | 字串 | 使用的登錄類型 |
packages | 是,如果不是預設值 | 字串 | 要來自此登錄的埠清單 |
path | 檔案系統登錄 | 字串 | 檔案系統登錄的路徑 |
reference | No | 字串 | 用於可用版本的 Git 參考 |
存儲庫 | Git 登錄 | 字串 | Git 登錄的 URI |
登入: "kind"
正在使用的登錄類型。 字串。 必要。
"kind" 值 |
登錄類型 |
---|---|
"filesystem" |
檔案系統登錄 |
"git" |
Git 登錄 |
"builtin" |
內建登錄 |
登入: "baseline"
此登錄中要使用的最低版本之登錄特定標識碼。 字串。 必要。
針對 Git 登錄 和 Builtin Registry,這是登錄 versions/baseline.json
存放庫中包含的 40 個字元 git 認可 sha。
針對 文件系統登錄,它可以是登錄在其 上 baseline.json
定義的任何有效 json 屬性名稱。 如果檔案系統登入未宣告基準,則所使用的 "default"
值為 。
登入: "reference"
用來列出 Git 登錄可用版本的 Git 參考。 字串。 選擇性。
如果未指定,則預設為 HEAD
。 此欄位可以是主題分支,可存取尚未完全發行的版本。
登入: "repository"
Git 登錄的 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**
(只允許一個*
)a+
(+
不是有效的模式字元)a?
(?
不是有效的模式字元)