vcpkg_cmake_configure
Configurare un progetto basato su CMake.
Utilizzo
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>...]
)
Per usare questa funzione, è necessario dipendere dalla porta vcpkg-cmake
helper :
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
Parametri
SOURCE_PATH
Specifica la directory contenente l'oggetto CMakeLists.txt
.
Questo valore viene in genere ottenuto come risultato della chiamata di un comando di acquisizione di origine come vcpkg_from_github()
.
DISABLE_PARALLEL_CONFIGURE
Disabilita l'esecuzione del passaggio di configurazione di CMake in parallelo.
Per impostazione predefinita, vcpkg disabilita la scrittura nella directory di origine (tramite il flag CMAKE_DISABLE_SOURCE_CHANGES
CMake non documentato ) e configura Release e Debug in parallelo. Questo flag indica a vcpkg di consentire le scritture della directory di origine e di eseguire i passaggi di configurazione in sequenza.
NO_CHARSET_FLAG
Disabilita il /utf-8
passaggio quando si usa la toolchain di Windows predefinita.
Questa operazione è necessaria per le librerie che impostano il set di caratteri del codice sorgente quando la destinazione è MSVC. Per altre informazioni, vedere la documentazione /utf-8
di MSVC.
WINDOWS_USE_MSBUILD
Usare MSBuild invece di un altro generatore quando è destinata a una piattaforma Windows.
Per impostazione predefinita, vcpkg preferisce usare Ninja come generatore CMake per tutte le piattaforme. Tuttavia, esistono casi perimetrali in cui MSBuild ha un comportamento diverso rispetto a Ninja. Questo flag deve essere passato solo se il progetto richiede che MSBuild venga compilato correttamente. Questo flag non ha alcun effetto per le destinazioni MinGW.
GENERATORE
Specifica il generatore CMake da usare.
Per impostazione predefinita, vcpkg preferisce usare Ninja come generatore CMake per tutte le piattaforme o "Makefile Unix" per piattaforme non Windows quando Ninja non è disponibile. Questo parametro può essere usato per i casi perimetrali in cui i sistemi di compilazione specifici del progetto dipendono da un generatore specifico.
LOGFILE_BASE
Nome radice alternativo per i log di configurazione.
Il valore predefinito è config-${TARGET_TRIPLET}
. Non deve contenere separatori di percorso. I log verranno generati corrispondenti al modello ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log
OPTIONS
Opzioni aggiuntive da passare a CMake durante la configurazione.
Vedere anche Opzioni implicite.
OPTIONS_RELEASE
Opzioni aggiuntive da passare a CMake durante la configurazione del rilascio.
Si aggiungono a OPTIONS
.
OPTIONS_DEBUG
Opzioni aggiuntive da passare a CMake durante la configurazione di debug.
Si aggiungono a OPTIONS
.
MAYBE_UNUSED_VARIABLES
Elenco delle opzioni di CMake che potrebbero non essere lette durante il passaggio di configurazione.
vcpkg avvisa di eventuali opzioni esterne a questo elenco che non sono state lette durante il passaggio di configurazione di CMake. Questo elenco deve contenere opzioni che vengono lette solo durante determinate configurazioni, ad esempio quando VCPKG_LIBRARY_LINKAGE
è "static"
o quando sono abilitate determinate funzionalità.
Opzioni implicite
Questo comando fornisce automaticamente diverse opzioni per CMake.
CMAKE_BUILD_TYPE
è impostato su o"Debug"
in base alle"Release"
esigenze.BUILD_SHARED_LIBS
viene impostato in base al valore diVCPKG_LIBRARY_LINKAGE
.CMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}</debug>
in base alle esigenze della configurazioneCMAKE_TOOLCHAIN_FILE
eVCPKG_CHAINLOAD_TOOLCHAIN_FILE
sono impostati per includere il file toolchain vcpkg e la toolchain triplet.CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
. SeVCPKG_CMAKE_SYSTEM_NAME
è unset, il valore predefinito è"Windows"
.CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
seVCPKG_CMAKE_SYSTEM_VERSION
è impostato.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
(dalla versione 2022-10-30)
Questo comando passa anche tutte le opzioni in VCPKG_CMAKE_CONFIGURE_OPTIONS
e le opzioni specifiche della configurazione da VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE
o VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG
.
Infine, sono disponibili opzioni interne aggiuntive passate (con un VCPKG_
prefisso) che non devono essere dipendenti.
Esempi
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()
Cercare esempi in microsoft/vcpkg
Osservazioni:
Questo comando sostituisce vcpkg_configure_cmake()
.