Пример упаковки репозиториев 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.",
"homepage": "https://www.xiph.org/ogg/"
}
Файл манифеста можно отформатировать в соответствии с 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
проверка суммы скачаемого файла (это можно легко получить, установив его0
, пытаясь установить пакет и скопировать проверка sum).
Наконец, мы настроим проект с помощью CMake, установите пакет и скопируйте файл лицензии:
vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH})
vcpkg_cmake_install()
vcpkg_install_copyright("${SOURCE_PATH}/COPYING")
Проверьте документацию и vcpkg_cmake_configure
vcpkg_cmake_install
, если пакет нуждается в дополнительных параметрах.
Теперь можно выполнить vcpkg install libogg
сборку и установку пакета.
Рекомендуемые примеры портов
В каталоге ports/
есть множество библиотек, которые можно использовать в качестве примеров, включая многие, которые не основаны на CMake.
- Только библиотеки заголовков
- rapidjson
- range-v3
- На основе MSBuild
- chakracore
- Non-CMake, настраиваемая система сборки
- openssl
- ffmpeg