Exemplo de repositório do GitHub de empacotamento: libogg
Crie o arquivo de manifesto
O arquivo de manifesto (chamado vcpkg.json
) é um arquivo json que descreve os metadados do pacote.
Para libogg, criaremos o arquivo ports/libogg/vcpkg.json
com o seguinte conteúdo:
{
"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/"
}
Você pode formatar o arquivo de manifesto de acordo com nossas especificações com vcpkg format-manifest ports/libogg/vcpkg.json
o .
Criar o arquivo de porta
portfile.cmake
Descreve como compilar e instalar o pacote. Primeiro baixamos o projeto do Github com vcpkg_from_github
:
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xiph/ogg
REF v1.3.3
SHA512 0bd6095d647530d4cb1f509eb5e99965a25cc3dd9b8125b93abd6b248255c890cf20710154bdec40568478eb5c4cde724abfb2eff1f3a04e63acef0fbbc9799b
HEAD_REF master
)
As partes importantes a serem atualizadas são REPO
para o caminho do repositório do GitHub, para uma tag/commit estável a ser usada e com a soma de verificação do arquivo baixado (você pode obter isso facilmente configurando-o como 0
, REF
tentando instalar o pacote e SHA512
copiando a soma de verificação).
Finalmente, configuramos o projeto com o CMake, instalamos o pacote e copiamos sobre o arquivo de licença:
vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH})
vcpkg_cmake_install()
vcpkg_install_copyright("${SOURCE_PATH}/COPYING")
Verifique a documentação e vcpkg_cmake_configure
vcpkg_cmake_install
se o seu pacote precisa de opções adicionais.
Agora você pode executar vcpkg install libogg
para compilar e instalar o pacote.
Exemplo sugerido de portfiles
ports/
No diretório há muitas bibliotecas que podem ser usadas como exemplos, incluindo muitas que não são baseadas no CMake.
- Bibliotecas somente de cabeçalho
- rapidjson
- intervalo-v3
- Baseado em MSBuild
- Chakracore
- Não-CMake, sistema de compilação personalizado
- openssl
- ffmpeg