Příklad balení úložišť GitHub: libogg

Vytvoření souboru manifestu

Soubor manifestu (volaný vcpkg.json) je soubor JSON popisující metadata balíčku.

Pro libogg vytvoříme soubor ports/libogg/vcpkg.json s následujícím obsahem:

{
  "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."
}

Soubor manifestu můžete naformátovat na naše specifikace pomocí vcpkg format-manifest ports/libogg/vcpkg.json.

Vytvoření souboru portu

portfile.cmake popisuje, jak sestavit a nainstalovat balíček. Nejprve stáhneme projekt z GitHubu pomocí vcpkg_from_github:

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

Důležité části, které je potřeba aktualizovat, jsou REPO určené pro cestu k úložišti GitHub, REF pro stabilní značku nebo potvrzení, které se mají použít, a SHA512 s kontrolním součtem staženého souboru (můžete to snadno získat nastavením na 0, pokusem o instalaci balíčku a zkopírováním kontrolního součtu).

Nakonec nakonfigurujeme projekt pomocí CMake, nainstalujeme balíček a zkopírujeme ho přes licenční soubor:

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

Projděte si dokumentaci vcpkg_cmake_configure a vcpkg_cmake_install zjistěte, jestli váš balíček potřebuje další možnosti.

Teď můžete balíček sestavit vcpkg install libogg a nainstalovat.

Navrhované ukázkové soubory portů

ports/ V adresáři je mnoho knihoven, které lze použít jako příklady, včetně mnoha, které nejsou založené na CMake.

  • Pouze knihovny hlaviček
    • rapidjson
    • range-v3
  • Založené na nástroji MSBuild
    • čakracore
  • Jiný než CMake, vlastní systém sestavení
    • openssl
    • ffmpeg