vcpkg_cmake_configure
Konfigurieren Sie ein CMake-basiertes Projekt.
Verbrauch
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>...]
)
Um diese Funktion zu verwenden, müssen Sie vom Hilfsport vcpkg-cmake
abhängig sein:
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
Parameter
SOURCE_PATH
Gibt das Verzeichnis an, das das Verzeichnis enthält.CMakeLists.txt
Dieser Wert wird in der Regel als Ergebnis des Aufrufs eines Quellerwerbsbefehls wie vcpkg_from_github()
.
DISABLE_PARALLEL_CONFIGURE
Deaktiviert die Ausführung des CMake-Konfigurationsschritts parallel.
Standardmäßig deaktiviert vcpkg das Zurückschreiben in das Quellverzeichnis (über das nicht dokumentierte CMake-Flag CMAKE_DISABLE_SOURCE_CHANGES
) und konfiguriert Release und Debug parallel. Dieses Flag weist vcpkg an, Quellverzeichnis-Schreibvorgänge zuzulassen und die Konfigurationsschritte sequenziell auszuführen.
NO_CHARSET_FLAG
Deaktiviert die Übergabe /utf-8
bei Verwendung der integrierten Windows-Toolkette.
Dies ist für Bibliotheken erforderlich, die den Zeichensatz ihres eigenen Quellcodes beim Festlegen von MSVC festlegen. Weitere Informationen finden Sie in der MSVC-Dokumentation /utf-8
.
WINDOWS_USE_MSBUILD
Verwenden Sie MSBuild anstelle eines anderen Generators, wenn Sie auf eine Windows-Plattform abzielen.
Standardmäßig bevorzugt vcpkg Ninja als CMake-Generator für alle Plattformen. Es gibt jedoch Edgefälle, in denen MSBuild ein anderes Verhalten hat als Ninja. Dieses Flag sollte nur übergeben werden, wenn für das Projekt MSBuild ordnungsgemäß erstellt werden muss. Dieses Flag hat keine Auswirkung für MinGW-Ziele.
GENERATOR
Gibt den zu verwendenden CMake-Generator an.
Standardmäßig verwendet vcpkg Ninja als CMake-Generator für alle Plattformen oder "Unix Makefiles" für Nicht-Windows-Plattformen, wenn Ninja nicht verfügbar ist. Dieser Parameter kann für Edgefälle verwendet werden, in denen projektspezifische Buildsysteme von einem bestimmten Generator abhängen.
LOGFILE_BASE
Ein alternativer Stammname für die Konfigurationsprotokolle.
Wird standardmäßig auf config-${TARGET_TRIPLET}
festgelegt. Es sollte keine Pfadtrennzeichen enthalten. Protokolle werden generiert, die dem Muster entsprechen. ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log
OPTIONEN
Zusätzliche Optionen, die während der Konfiguration an CMake übergeben werden sollen.
Siehe auch implizite Optionen.
OPTIONS_RELEASE
Zusätzliche Optionen, die während der Releasekonfiguration an CMake übergeben werden sollen.
Diese sind zusätzlich zu OPTIONS
.
OPTIONS_DEBUG
Zusätzliche Optionen, die während der Debugkonfiguration an CMake übergeben werden sollen.
Diese sind zusätzlich zu OPTIONS
.
MAYBE_UNUSED_VARIABLES
Liste der CMake-Optionen, die während des Konfigurationsschritts möglicherweise nicht gelesen werden.
vcpkg warnt vor optionen außerhalb dieser Liste, die während des Konfigurationsschritts "CMake" nicht gelesen wurden. Diese Liste sollte Optionen enthalten, die nur während bestimmter Konfigurationen gelesen werden (z. B. wann VCPKG_LIBRARY_LINKAGE
oder "static"
wann bestimmte Features aktiviert sind).
Implizite Optionen
Dieser Befehl bietet automatisch mehrere Optionen für CMake.
CMAKE_BUILD_TYPE
ist auf"Release"
oder"Debug"
entsprechend festgelegt.BUILD_SHARED_LIBS
wird gemäß dem Wert vonVCPKG_LIBRARY_LINKAGE
.CMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}</debug>
entsprechend der KonfigurationCMAKE_TOOLCHAIN_FILE
undVCPKG_CHAINLOAD_TOOLCHAIN_FILE
sind so festgelegt, dass die vcpkg-Toolkette und die Triplet-Toolkette enthalten sind.CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
. WennVCPKG_CMAKE_SYSTEM_NAME
dies nicht festgelegt ist, wird standardmäßig auf"Windows"
.CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
wennVCPKG_CMAKE_SYSTEM_VERSION
festgelegt.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
(seit Version 2022-10-30)
Mit diesem Befehl werden auch alle Optionen und VCPKG_CMAKE_CONFIGURE_OPTIONS
die konfigurationsspezifischen Optionen von VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE
oder VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG
aus übergeben.
Schließlich gibt es zusätzliche interne Optionen, die (mit einem VCPKG_
Präfix) übergeben werden, von denen nicht abhängig sein sollte.
Beispiele
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()
Suchen von Microsoft/vcpkg nach Beispielen
Hinweise
Dieser Befehl ersetzt vcpkg_configure_cmake()
.