vcpkg_cmake_configure
Configure un proyecto basado en CMake.
Uso
vcpkg_cmake_configure(
SOURCE_PATH <source-path>
[DISABLE_PARALLEL_CONFIGURE]
[NO_CHARSET_FLAG]
[WINDOWS_USE_MSBUILD]
[GENERATOR <generator>]
[LOGFILE_BASE <logname-base>]
[OPTIONS
<configure-setting>...]
[OPTIONS_RELEASE
<configure-setting>...]
[OPTIONS_DEBUG
<configure-setting>...]
[MAYBE_UNUSED_VARIABLES
<option-name>...]
)
Para usar esta función, debe depender del puerto vcpkg-cmake
auxiliar :
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
Parámetros
SOURCE_PATH
Especifica el directorio que contiene .CMakeLists.txt
Este valor se obtiene normalmente como resultado de llamar a un comando de adquisición de origen como vcpkg_from_github()
.
DISABLE_PARALLEL_CONFIGURE
Deshabilita la ejecución del paso de configuración de CMake en paralelo.
De forma predeterminada, vcpkg deshabilita la escritura en el directorio de origen (a través de la marca CMAKE_DISABLE_SOURCE_CHANGES
CMake no documentada) y configura Release and Debug en paralelo. Esta marca indica a vcpkg que permita escrituras de directorio de origen y que ejecute los pasos de configuración secuencialmente.
NO_CHARSET_FLAG
Deshabilita el paso /utf-8
al usar la cadena de herramientas integrada de Windows.
Esto es necesario para las bibliotecas que establecen su propio juego de caracteres de código fuente al dirigirse a MSVC. Consulte la documentación de MSVC para /utf-8
obtener más información.
WINDOWS_USE_MSBUILD
Use MSBuild en lugar de otro generador cuando tenga como destino una plataforma Windows.
De forma predeterminada, vcpkg prefiere usar Ninja como generador de CMake para todas las plataformas. Sin embargo, hay casos perimetrales en los que MSBuild tiene un comportamiento diferente al de Ninja. Esta marca solo debe pasarse si el proyecto requiere que MSBuild se compile correctamente. Esta marca no tiene ningún efecto para los destinos minGW.
GENERADOR
Especifica el generador de CMake que se va a usar.
De forma predeterminada, vcpkg prefiere usar Ninja como generador de CMake para todas las plataformas, o "Archivos Make de Unix" para plataformas que no son de Windows cuando Ninja no está disponible. Este parámetro se puede usar para casos perimetrales en los que los sistemas de compilación específicos del proyecto dependen de un generador determinado.
LOGFILE_BASE
Un nombre raíz alternativo para los registros de configuración.
Tiene como valor predeterminado config-${TARGET_TRIPLET}
. No debe contener ningún separador de ruta de acceso. Los registros se generarán que coincidan con el patrón. ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log
OPTIONS
Opciones adicionales para pasar a CMake durante la configuración.
Consulte también Opciones implícitas.
OPTIONS_RELEASE
Opciones adicionales para pasar a CMake durante la configuración de versión.
Estos son además de OPTIONS
.
OPTIONS_DEBUG
Opciones adicionales para pasar a CMake durante la configuración de depuración.
Estos son además de OPTIONS
.
MAYBE_UNUSED_VARIABLES
Lista de opciones de CMake que pueden no leerse durante el paso de configuración.
vcpkg advertirá sobre las opciones fuera de esta lista que no se leyeron durante el paso de configuración de CMake. Esta lista debe contener opciones que solo se leen durante determinadas configuraciones (por ejemplo, cuando VCPKG_LIBRARY_LINKAGE
está "static"
o cuando determinadas características están habilitadas).
Opciones implícitas
Este comando proporciona automáticamente varias opciones para CMake.
CMAKE_BUILD_TYPE
se establece en"Release"
o"Debug"
según corresponda.BUILD_SHARED_LIBS
se establece según el valor deVCPKG_LIBRARY_LINKAGE
.CMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}</debug>
según corresponda a la configuraciónCMAKE_TOOLCHAIN_FILE
yVCPKG_CHAINLOAD_TOOLCHAIN_FILE
se establecen para incluir el archivo de cadena de herramientas vcpkg y la cadena de herramientas triplet.CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
. SiVCPKG_CMAKE_SYSTEM_NAME
no se establece, el valor predeterminado es"Windows"
.CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
siVCPKG_CMAKE_SYSTEM_VERSION
está establecido.CMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON
CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON
CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON
CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE
CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON
CMAKE_INSTALL_LIBDIR:STRING=lib
CMAKE_INSTALL_BINDIR:STRING=bin
FETCHCONTENT_FULLY_DISCONNECTED=ON
(desde la versión 2022-10-30)
Este comando también pasa todas las opciones de VCPKG_CMAKE_CONFIGURE_OPTIONS
y las opciones específicas de la configuración de VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE
o VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG
.
Por último, hay opciones internas adicionales que se pasan (con un VCPKG_
prefijo) que no deben depender.
Ejemplos
vcpkg_from_github(OUT_SOURCE_PATH source_path ...)
vcpkg_cmake_configure(
SOURCE_PATH "${source_path}"
OPTIONS
-DBUILD_EXAMPLES=OFF
-DBUILD_TESTS=OFF
)
vcpkg_cmake_install()
Búsqueda de microsoft/vcpkg para ver ejemplos
Comentarios
Este comando reemplaza vcpkg_configure_cmake()
a .