次の方法で共有


vcpkg_from_github

GitHub からプロジェクトをダウンロードして抽出します。 install --headのサポートを有効にします。

これは、 GITHUB_HOST オプションを使用して Gitea サーバーを指定することで、Gitea でも機能します。

使用方法

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>]
    [USE_TARBALL_API]
)

パラメーター

OUT_SOURCE_PATH

抽出された場所を格納する out 変数を指定します。

これは、規則によって SOURCE_PATH に設定する必要があります。

レポ

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

REF

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

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

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

SHA512

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

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

HEAD_REF

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

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

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

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

GITHUB_HOST

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

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

AUTHORIZATION_TOKEN

Authorization HTTP ヘッダーを介して "token ${AUTHORIZATION_TOKEN}" として渡されるトークン。 AUTHORIZATION_TOKENきめ細かなアクセス トークンである場合は、USE_TARBALL_APIも使用する必要があります。

FILE_DISAMBIGUATOR

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

USE_TARBALL_API

指定すると、vcpkg はアーカイブ API ではなく GitHub REST API に記載されている tarball API を使用してソースをダウンロードします。

tarball API によって返されるソースの SHA512 が通常のアーカイブ API と異なるため、このオプションはグローバルに制御される設定ではなく存在します。

注記

少なくとも 1 つの REFHEAD_REF を指定する必要があります。ただし、両方が存在することが望ましいです。

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

例示

情報源

scripts/cmake/vcpkg_from_github.cmake