Ejemplo de archivos de archivo de empaquetado: zlib
Artigo
Arranque con create
En primer lugar, busque un archivo accesible globalmente de los orígenes de la biblioteca. Se admiten todos los archivos ZIP, gzip y bzip. Prefiere fuertemente fuentes oficiales o espejos sobre espejos no oficiales.
Al examinar el sitio web de zlib, la dirección URL http://zlib.net/zlib-1.2.13.tar.gz es adecuada.
En segundo lugar, determine un nombre de paquete adecuado. Debe ser ASCII, en minúsculas y reconocible para alguien que conoce el "nombre humano" de la biblioteca. Si la biblioteca ya está empaquetada en otro administrador de paquetes, prefiera ese nombre.
Puesto que zlib ya está empaquetado como zlib, usaremos el nombre zlib2 para este ejemplo.
Por último, si el nombre del servidor para el archivo no es muy descriptivo (como descargar una confirmación comprimida o una rama de GitHub), elija un buen nombre de archivo del formulario <packagename>-<version>.zip.
zlib-1.2.13.zip es un nombre correcto, por lo que no se necesita ningún cambio.
Toda esta información se puede pasar al create comando , que descargará los orígenes y arrancará el proceso de empaquetado dentro ports/<packagename>de .
PowerShell
PS D:\src\vcpkg> .\vcpkg create zlib2 http://zlib.net/zlib-1.2.13.tar.gz zlib-1.2.13.tar.gz
-- Downloading http://zlib.net/zlib-1.2.13.tar.gz -> zlib-1.2.13.tar.gz...
-- Generated portfile: D:\src\vcpkg\ports\zlib2\portfile.cmake
-- Generated manifest: D:\src\vcpkg\ports\zlib2\vcpkg.json
-- To launch an editor for these new files, run
-- .\vcpkg edit zlib2
Creación del archivo de manifiesto
Además del elemento generado ports/<package>/portfile.cmake, también necesitamos un ports/<package>/vcpkg.json archivo . Este archivo es un conjunto sencillo de campos que describen los metadatos del paquete.
Para zlib2, crearemos el archivo ports/zlib2/vcpkg.json con el siguiente contenido:
El generado portfile.cmake necesitará alguna edición para empaquetar correctamente la mayoría de las bibliotecas comodín, pero podemos empezar probando la compilación.
PowerShell
PS D:\src\vcpkg> .\vcpkg install zlib2
Computing installation plan...
The following packages will be built and installed:
zlib2[core]:x64-uwp
Starting package 1/1: zlib2:x64-uwp
Building package zlib2[core]:x64-uwp...
-- Using cached C:/src/vcpkg/downloads/zlib-1.2.13.tar.gz
-- Cleaning sources at C:/src/vcpkg/buildtrees/zlib2/src/1.2.13-deec42f53b.clean. Pass --editable to vcpkg to reuse sources.
-- Extracting source C:/src/vcpkg/downloads/zlib-1.2.13.tar.gz
-- Applying patch cmake_dont_build_more_than_needed.patch
-- Using source at C:/src/vcpkg/buildtrees/zlib2/src/1.2.13-deec42f53b.clean
-- Configuring x64-uwp
-- Building x64-uwp-dbg
-- Building x64-uwp-rel
-- Installing: C:/src/vcpkg/packages/zlib2_x64-uwp/share/zlib2/copyright
-- Performing post-build validation
Include files should not be duplicated into the /debug/include directory. If this cannot be disabled in the project cmake, use
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
/debug/share should not exist. Please reorganize any important files, then use
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
The software license must be available at ${CURRENT_PACKAGES_DIR}/share/zlib2/copyright
Found 3 error(s). Please correct the portfile:
D:\src\vcpkg\ports\zlib2\portfile.cmake
En este momento, es cuestión de leer los mensajes de error y los archivos de registro a la vez que mejora constantemente la calidad del archivo de puerto. Zlib requería proporcionar una copia discreta de la LICENCIA para copiar en el paquete, suprimir la compilación y la instalación de ejecutables y encabezados, y quitar las bibliotecas estáticas después de instalarlas.
Archivos de puerto de ejemplo sugeridos
En el ports/ directorio hay muchas bibliotecas que se pueden usar como ejemplos, incluidas muchas que no se basan en CMake.
Solo bibliotecas de encabezado
rapidjson
range-v3
Basado en MSBuild
chakracore
No CMake, sistema de compilación personalizado
openssl
ffmpeg
Colaborar con nós en GitHub
A orixe deste contido pódese atopar en GitHub, onde tamén podes crear e revisar problemas e extraer solicitudes. Para obter máis información, consulta a guía para colaboradores.
Comentarios de vcpkg
vcpkg é un proxecto de código aberto. Selecciona unha ligazón para ofrecer comentarios:
Optimice la instalación y el mantenimiento del software en el equipo mediante el Administrador de paquetes de Windows. Explicar los componentes y comandos de front-end, el repositorio del Administrador de paquetes de Windows y cómo contribuir al repositorio.