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 必要があります。

REPO

GitHub 上の組織またはユーザーとリポジトリ。

REF

コンテンツを変更しない安定した git commit-ish (理想的にはタグまたはコミット)。 これは分岐にすることはできません。

公式リリースのないリポジトリの場合、これは現在の最新のマスターの完全なコミット ID に設定できます。

REF を指定した場合は、SHA512 も指定する必要があります。

SHA512

アーカイブ (https://github.com/${REPO}/archive/${REF}.tar.gz) と一致する必要がある SHA512 ハッシュ。

これは、最初にポートを設定してからポートを 0構築しようとすることで、最も簡単に判断できます。 エラー メッセージには完全なハッシュが含まれます。このハッシュは、ポートファイルにコピーして戻すことができます。

HEAD_REF

ビルド用 --head にプルする不安定な git commit-ish (理想的にはブランチ)。

ほとんどのプロジェクトでは、これは master. 選択したブランチは、サポートされているすべてのプラットフォームで常にビルド可能であることが期待されるブランチである必要があります。

パッチ

抽出されたソースに適用するパッチの一覧。

相対パスは、ポート ディレクトリに基づいています。

GITHUB_HOST

エンタープライズ GitHub インスタンスの代替ホスト。

このフィールドには、末尾にスラッシュを付けずに、必要な URL のスキーム、ホスト、およびポートを含める必要があります。

AUTHORIZATION_TOKEN

Authorization HTTP ヘッダーを介して "token ${AUTHORIZATION_TOKEN}" として渡されるトークン。

FILE_DISAMB (メガバイト)IGUATOR

同じファイル名をステップ実行しないように、git ref が変更されない場合でも SHA512 が変更された場合に、結果のファイル名を一意に識別するトークン。

メモ

少なくとも1つ REFHEAD_REF 指定する必要があるが、両方が存在することが好ましい。

これにより、ヘッド ビルド中に変数が VCPKG_HEAD_VERSION エクスポートされます。

ソース

scripts/cmake/vcpkg_from_github.cmake