共用方式為


vcpkg_from_github

從 GitHub 下載並擷取專案。 啟用的支援 install --head

這也適用於 Gitea,方法是使用 選項指定 Gitea 伺服器 GITHUB_HOST

使用方式

vcpkg_from_github(
    OUT_SOURCE_PATH <SOURCE_PATH>
    REPO <Microsoft/cpprestsdk>
    [REF <v2.0.0>]
    [SHA512 <45d0d7f8cc350...>]
    [HEAD_REF <master>]
    [PATCHES <patch1.patch> <patch2.patch>...]
    [GITHUB_HOST <https://github.com>]
    [AUTHORIZATION_TOKEN <${SECRET_FROM_FILE}>]
    [FILE_DISAMBIGUATOR <N>]
)

參數

OUT_SOURCE_PATH

指定將包含擷取位置的 out 變數。

這應該依照慣例設定為 SOURCE_PATH

回購

GitHub 上的組織或使用者和存放庫。

REF

穩定的 git commit-ish (理想情況下是標記或認可),不會變更內容。 這不應該是分支。

對於沒有官方版本的存放庫,這可以設定為目前最新主機的完整認可標識符。

如果 REF 指定 , SHA512 也必須指定 。

SHA512

應符合封存的 SHA512 哈希 (https://github.com/${REPO}/archive/${REF}.tar.gz)。

這是最簡單的決定方式是先將它設定為 0,然後嘗試建置埠。 錯誤訊息將包含完整哈希,可複製回 portfile。

HEAD_REF

要提取組建 --head 的不穩定 git commit-ish (理想情況下是分支)。

對大部分的專案而言,這應該是 master。 所選的分支應該是一律可在所有支援平臺上建置的分支。

補丁

要套用至擷取來源的修補程序清單。

相對路徑是以埠目錄為基礎。

GITHUB_HOST

企業 GitHub 實例的取代主機。

此欄位應該包含所需 URL 的配置、主機和埠,而不需要尾端斜線。

AUTHORIZATION_TOKEN

要透過授權 HTTP 標頭傳遞為 「token ${AUTHORIZATION_TOKEN}」 的令牌。

FILE_DISAMBIGUATOR

如果SHA512變更,即使 git ref 沒有變更,仍可唯一識別產生的檔名的令牌,以避免逐步執行相同的檔名。

備註

至少必須指定和 的REFHEAD_REF其中一個,不過最好同時存在兩者。

這會在 VCPKG_HEAD_VERSION 前端組建期間匯出變數。

範例

來源

scripts/cmake/vcpkg_from_github.cmake