vcpkg_cmake_configure
Configurez un projet CMake.
Utilisation
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>...]
)
Pour utiliser cette fonction, vous devez dépendre du port vcpkg-cmake
d’assistance :
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
Paramètres
SOURCE_PATH
Spécifie le répertoire contenant le CMakeLists.txt
.
Cette valeur est généralement obtenue en raison de l’appel d’une commande d’acquisition source comme vcpkg_from_github()
.
DISABLE_PARALLEL_CONFIGURE
Désactive l’exécution de l’étape de configuration CMake en parallèle.
Par défaut, vcpkg désactive l’écriture dans le répertoire source (via l’indicateur CMAKE_DISABLE_SOURCE_CHANGES
CMake non documenté) et configure Release et Debug en parallèle. Cet indicateur indique à vcpkg d’autoriser les écritures de répertoire source et d’exécuter les étapes de configuration de manière séquentielle.
NO_CHARSET_FLAG
Désactive la transmission /utf-8
lors de l’utilisation de la chaîne d’outils Windows intégrée.
Cela est nécessaire pour les bibliothèques qui définissent le jeu de caractères de leur propre code source lors du ciblage de MSVC. Pour plus d’informations, consultez la documentation /utf-8
MSVC.
WINDOWS_USE_MSBUILD
Utilisez MSBuild au lieu d’un autre générateur lors de la cible d’une plateforme Windows.
Par défaut, vcpkg préfère utiliser Ninja comme générateur CMake pour toutes les plateformes. Toutefois, il existe des cas de périphérie où MSBuild a un comportement différent de Ninja. Cet indicateur ne doit être transmis que si le projet nécessite la génération correcte de MSBuild. Cet indicateur n’a aucun effet pour les cibles MinGW.
GÉNÉRATEUR
Spécifie le générateur CMake à utiliser.
Par défaut, vcpkg préfère utiliser Ninja comme générateur CMake pour toutes les plateformes, ou « Makefiles Unix » pour les plateformes non-Windows lorsque Ninja n’est pas disponible. Ce paramètre peut être utilisé pour les cas de périphérie où les systèmes de build spécifiques au projet dépendent d’un générateur particulier.
LOGFILE_BASE
Autre nom racine pour les journaux de configuration.
La valeur par défaut est config-${TARGET_TRIPLET}
. Il ne doit contenir aucun séparateur de chemin d’accès. Les journaux seront générés en correspondance avec le modèle ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log
OPTIONS
Options supplémentaires pour passer à CMake pendant la configuration.
Voir également Options implicites.
OPTIONS_RELEASE
Options supplémentaires pour passer à CMake pendant la configuration release.
Ils sont en plus de OPTIONS
.
OPTIONS_DEBUG
Options supplémentaires pour passer à CMake pendant la configuration de débogage.
Ils sont en plus de OPTIONS
.
MAYBE_UNUSED_VARIABLES
Liste des options CMake qui peuvent ne pas être lues pendant l’étape de configuration.
vcpkg avertit les options en dehors de cette liste qui n’ont pas été lues pendant l’étape de configuration CMake. Cette liste doit contenir des options qui sont lues uniquement pendant certaines configurations (par exemple, quand VCPKG_LIBRARY_LINKAGE
ou "static"
quand certaines fonctionnalités sont activées).
Options implicites
Cette commande fournit automatiquement plusieurs options pour CMake.
CMAKE_BUILD_TYPE
est défini"Release"
sur ou"Debug"
selon les besoins.BUILD_SHARED_LIBS
est défini en fonction de la valeur deVCPKG_LIBRARY_LINKAGE
.CMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}</debug>
selon les besoins de la configurationCMAKE_TOOLCHAIN_FILE
etVCPKG_CHAINLOAD_TOOLCHAIN_FILE
sont définis pour inclure le fichier de chaîne d’outils vcpkg et la chaîne d’outils triplet.CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
. S’ilVCPKG_CMAKE_SYSTEM_NAME
n’est pas défini, la valeur par défaut est"Windows"
.CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
siVCPKG_CMAKE_SYSTEM_VERSION
elle est définie.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
(depuis la version 2022-10-30)
Cette commande transmet également toutes les options et VCPKG_CMAKE_CONFIGURE_OPTIONS
les options spécifiques à la configuration à partir de VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE
ou VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG
.
Enfin, il existe des options internes supplémentaires passées (avec un VCPKG_
préfixe) qui ne doivent pas être dépendantes.
Exemples
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()
Rechercher des exemples microsoft/vcpkg
Notes
Cette commande remplace vcpkg_configure_cmake()
.