GitHub リポジトリのパッケージ化の例: libogg

マニフェスト ファイルの作成

マニフェスト ファイル (呼び出し vcpkg.json) は、パッケージのメタデータを記述する json ファイルです。

libogg の場合は、次の内容でファイル ports/libogg/vcpkg.json を作成します。

{
  "name": "libogg",
  "version-string": "1.3.3",
  "description": "Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs."
}

マニフェスト ファイルは、次を使用して仕様 vcpkg format-manifest ports/libogg/vcpkg.jsonに合わせて書式設定できます。

ポートファイルを作成する

portfile.cmake では、パッケージをビルドしてインストールする方法について説明します。 まず、Github からプロジェクトを次の方法で vcpkg_from_githubダウンロードします。

vcpkg_from_github(
    OUT_SOURCE_PATH SOURCE_PATH
    REPO xiph/ogg
    REF v1.3.3
    SHA512 0bd6095d647530d4cb1f509eb5e99965a25cc3dd9b8125b93abd6b248255c890cf20710154bdec40568478eb5c4cde724abfb2eff1f3a04e63acef0fbbc9799b
    HEAD_REF master
)

更新する重要な部分はREPO、GitHub リポジトリパス、REF安定したタグ/コミットを使用すること、およびSHA512ダウンロードしたファイルのチェックsumを使用することです (これを設定し、パッケージをインストールして、チェックsumをコピーすることで0簡単に取得できます)。

最後に、CMake でプロジェクトを構成し、パッケージをインストールして、ライセンス ファイルをコピーします。

vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH})
vcpkg_cmake_install()
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libogg" RENAME copyright)

パッケージに追加のオプションが必要かどうかのvcpkg_cmake_configurevcpkg_cmake_installドキュメントを確認します。

これで、パッケージをビルドしてインストールするために実行 vcpkg install libogg できます。

推奨されるポートファイルの例

ports/ディレクトリには、CMake に基づいていない多くを含む、例として使用できる多くのライブラリがあります。

  • ヘッダーのみのライブラリ
    • rapidjson
    • range-v3
  • MSBuild ベース
    • chakracore
  • CMake 以外のカスタム ビルド システム
    • openssl
    • ffmpeg