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 essa 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 origem como vcpkg_from_github()
.
DISABLE_PARALLEL_CONFIGURE
Desativa a execução da etapa de configuração do CMake em paralelo.
Por padrão, vcpkg desabilita a gravação no diretório de origem (por meio do sinalizador CMAKE_DISABLE_SOURCE_CHANGES
CMake não documentado ) e (no Windows) configura Release e Debug em paralelo. Esse sinalizador instrui 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 o conjunto de ferramentas interno 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, vcpkg prefere usar Ninja como o CMake Generator para todas as plataformas. No entanto, há casos de borda em que o MSBuild tem comportamento diferente do Ninja. Esse sinalizador só deve ser passado se o projeto exigir que o MSBuild seja compilado corretamente. Essa bandeira não tem efeito para as metas do MinGW.
GERADOR
Especifica o gerador a ser usado.
Por padrão, vcpkg prefere usar Ninja como o CMake Generator para todas as plataformas, ou "Unix Makefiles" para plataformas não-Windows quando Ninja não está disponível. Esse parâmetro pode ser usado para casos de borda em que os sistemas de construçã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 nenhum separador de caminho. Os logs serão gerados de acordo com o padrão ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log
OPTIONS
Opções adicionais para passar para o CMake durante a configuração.
Consulte também Opções implícitas.
OPTIONS_RELEASE
Opções adicionais para passar para o CMake durante a configuração do Release.
Estes são além de OPTIONS
.
OPTIONS_DEBUG
Opções adicionais para passar para o CMake durante a configuração de Depuração.
Estes são além de OPTIONS
.
MAYBE_UNUSED_VARIABLES
Lista de opções do CMake que podem não ser lidas durante a etapa de configuraçã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ó são lidas durante determinadas configurações (como quando é "static"
ou quando VCPKG_LIBRARY_LINKAGE
determinados recursos estão habilitados).
Opções implícitas
Este comando fornece automaticamente várias opções para o CMake.
CMAKE_BUILD_TYPE
está 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
e estão configurados para incluir o arquivo VCPKG Toolchain eVCPKG_CHAINLOAD_TOOLCHAIN_FILE
o Triplet Toolchain.CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
. SeVCPKG_CMAKE_SYSTEM_NAME
estiver desconfigurado, o"Windows"
padrão será .CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
seVCPKG_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 passa todas as opções e VCPKG_CMAKE_CONFIGURE_OPTIONS
as opções específicas de configuração de VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE
ou VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG
.
Finalmente, há opções internas adicionais passadas (com um VCPKG_
prefixo) que não devem ser dependidas.
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()
Search microsoft/vcpkg para exemplos
Comentários
Este comando substitui vcpkg_configure_cmake()
o .