封裝 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

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 下載的檔案總和檢查碼(您可以藉由將它 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_configure 以及 vcpkg_cmake_install 您的套件是否需要其他選項。

現在您可以執行 vcpkg install libogg 來建置及安裝套件。

建議的範例 portfiles

目錄中 ports/ 有許多連結庫可用來作為範例,包括許多不是以 CMake 為基礎的連結庫。

  • 僅限標頭連結庫
    • rapidjson
    • range-v3
  • MSBuild 型
    • chakracore
  • 非 CMake、自定義建置系統
    • openssl
    • ffmpeg