vcpkg_cmake_configure
Configure um projeto baseado em 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 função, você deve depender da porta vcpkg-cmake
auxiliar:
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
Parâmetros
SOURCE_PATH
Especifica o diretório que contém o CMakeLists.txt
arquivo .
Esse valor geralmente é obtido como resultado da chamada de um comando de aquisição de código-fonte como vcpkg_from_github()
.
DISABLE_PARALLEL_CONFIGURE
Desabilita a execução da etapa de configuração do CMake em paralelo.
Por padrão, o vcpkg desabilita a gravação de volta no diretório de origem (por meio do sinalizador CMAKE_DISABLE_SOURCE_CHANGES
CMake não documentado) e configura Release e Debug em paralelo. Esse sinalizador instrui o vcpkg a permitir gravações no diretório de origem e a executar as etapas de configuração sequencialmente.
NO_CHARSET_FLAG
Desabilita a passagem /utf-8
ao usar a cadeia de ferramentas interna do Windows.
Isso é necessário para bibliotecas que definem o conjunto de caracteres de seu próprio código-fonte ao direcionar o MSVC. Consulte a documentação do MSVC para /utf-8
obter mais informações.
WINDOWS_USE_MSBUILD
Use o MSBuild em vez de outro gerador ao direcionar uma plataforma Windows.
Por padrão, o vcpkg prefere usar o Ninja como o Gerador CMake para todas as plataformas. No entanto, há casos extremos em que o MSBuild tem um comportamento diferente do Ninja. Esse sinalizador só deve ser passado se o projeto exigir que o MSBuild seja compilado corretamente. Esse sinalizador não tem efeito para alvos MinGW.
GERADOR
Especifica o gerador CMake a ser usado.
Por padrão, o vcpkg prefere usar o Ninja como o Gerador CMake para todas as plataformas, ou "Unix Makefiles" para plataformas não-Windows quando o Ninja não está disponível. Esse parâmetro pode ser usado para casos extremos em que os sistemas de compilação específicos do projeto dependem de um gerador específico.
LOGFILE_BASE
Um nome raiz alternativo para os logs de configuração.
Assume o padrão de config-${TARGET_TRIPLET}
. Ele não deve conter separadores de caminho. Os logs serão gerados de acordo com o padrão ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log
OPTIONS
Opções adicionais a serem passadas para o CMake durante a configuração.
Consulte também Opções implícitas.
OPTIONS_RELEASE
Opções adicionais a serem passadas para o CMake durante a configuração da versão.
Estes são adicionais ao OPTIONS
.
OPTIONS_DEBUG
Opções adicionais a serem passadas para o CMake durante a configuração de depuração.
Estes são adicionais ao OPTIONS
.
MAYBE_UNUSED_VARIABLES
Lista de opções do CMake que não podem ser lidas durante a etapa de configuração.
O vcpkg avisará sobre quaisquer opções fora dessa lista que não foram lidas durante a etapa de configuração do CMake. Essa lista deve conter opções que são lidas apenas durante determinadas configurações (como quando VCPKG_LIBRARY_LINKAGE
é "static"
ou quando determinados recursos são habilitados).
Opções implícitas
Esse comando fornece automaticamente várias opções para o CMake.
CMAKE_BUILD_TYPE
é definido como"Release"
ou"Debug"
conforme apropriado.BUILD_SHARED_LIBS
é definido de acordo com o valor deVCPKG_LIBRARY_LINKAGE
.CMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}</debug>
conforme apropriado para a configuraçãoCMAKE_TOOLCHAIN_FILE
eVCPKG_CHAINLOAD_TOOLCHAIN_FILE
estão configurados para incluir o arquivo de cadeia de ferramentas vcpkg e a cadeia de ferramentas tripla.CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
. SeVCPKG_CMAKE_SYSTEM_NAME
não estiver definido, o padrão é"Windows"
.CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
ifVCPKG_CMAKE_SYSTEM_VERSION
está definido.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 a versão 2022-10-30)
Esse comando também transmite todas as opções VCPKG_CMAKE_CONFIGURE_OPTIONS
e as opções específicas de configuração de VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE
ou VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG
.
Finalmente, existem opções internas adicionais passadas (com um VCPKG_
prefixo) das quais não se deve depender.
Exemplos
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()
Pesquise microsoft/vcpkg para exemplos
Comentários
Este comando substitui vcpkg_configure_cmake()
.