vcpkg_cmake_configure
Nakonfigurujte projekt založený na CMake.
Využití
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>...]
)
Pokud chcete tuto funkci použít, musíte záviset na pomocném portu vcpkg-cmake
:
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
Parametry
SOURCE_PATH
Určuje adresář obsahující CMakeLists.txt
.
Tato hodnota se obvykle získá v důsledku volání příkazu pořízení zdroje, jako je vcpkg_from_github()
.
DISABLE_PARALLEL_CONFIGURE
Zakáže paralelní spuštění kroku konfigurace CMake.
Ve výchozím nastavení vcpkg zakáže zápis zpět do zdrojového adresáře (prostřednictvím příznaku CMake CMAKE_DISABLE_SOURCE_CHANGES
bez dokumentace) a konfiguruje verzi a ladění paralelně. Tento příznak dává vcpkg pokyn, aby povolil zápisy do zdrojového adresáře a sekvenčně provedl kroky konfigurace.
NO_CHARSET_FLAG
Zakáže předávání /utf-8
při použití předdefinované sady nástrojů systému Windows.
To je potřeba pro knihovny, které při cílení na MSVC nastavují vlastní znakovou sadu zdrojového kódu. Další informace najdete v dokumentaci /utf-8
k MSVC.
WINDOWS_USE_MSBUILD
Při cílení na platformu Windows použijte nástroj MSBuild místo jiného generátoru.
Ve výchozím nastavení vcpkg dává přednost použití Ninja jako CMake Generator pro všechny platformy. Existují však hraniční případy, kdy NÁSTROJ MSBuild má jiné chování než Ninja. Tento příznak by měl být předán pouze v případě, že projekt vyžaduje, aby se nástroj MSBuild správně sestavil. Tento příznak nemá žádný vliv na cíle MinGW.
GENERÁTOR
Určuje generátor CMake, který se má použít.
Ve výchozím nastavení vcpkg dává přednost použití Ninja jako CMake Generátor pro všechny platformy, nebo "Unix Makefiles" pro platformy mimo Windows, pokud Ninja není k dispozici. Tento parametr lze použít pro hraniční případy, kdy systémy sestavení specifické pro projekt závisí na konkrétním generátoru.
LOGFILE_BASE
Alternativní kořenový název pro protokoly konfigurace.
Výchozí hodnota config-${TARGET_TRIPLET}
je . Neměl by obsahovat žádné oddělovače cest. Vygenerují se protokoly odpovídající vzoru. ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log
OPTIONS
Další možnosti předání CMake během konfigurace
Viz také implicitní možnosti.
OPTIONS_RELEASE
Další možnosti předání CMake během konfigurace vydané verze.
Jsou to navíc OPTIONS
.
OPTIONS_DEBUG
Další možnosti, které se mají předat CMake během konfigurace ladění.
Jsou to navíc OPTIONS
.
MAYBE_UNUSED_VARIABLES
Seznam možností CMake, které se nemusí číst během kroku konfigurace
Vcpkg upozorní na všechny možnosti mimo tento seznam, které nebyly přečteny během kroku konfigurace CMake. Tento seznam by měl obsahovat možnosti, které se čtou jenom během určitých konfigurací (například kdy VCPKG_LIBRARY_LINKAGE
jsou "static"
nebo když jsou některé funkce povolené).
Implicitní možnosti
Tento příkaz automaticky poskytuje několik možností CMake.
CMAKE_BUILD_TYPE
je nastavena"Release"
na nebo"Debug"
podle potřeby.BUILD_SHARED_LIBS
je nastavena podle hodnotyVCPKG_LIBRARY_LINKAGE
.CMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}</debug>
podle potřeby konfiguraceCMAKE_TOOLCHAIN_FILE
aVCPKG_CHAINLOAD_TOOLCHAIN_FILE
jsou nastaveny tak, aby zahrnovaly soubor sady nástrojů vcpkg a sadu nástrojů triplet.CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
. PokudVCPKG_CMAKE_SYSTEM_NAME
není nastavená, výchozí hodnota"Windows"
je .CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
pokudVCPKG_CMAKE_SYSTEM_VERSION
je nastavená.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
(od verze 2022-10-30)
Tento příkaz také předává všechny možnosti a VCPKG_CMAKE_CONFIGURE_OPTIONS
možnosti specifické pro konfiguraci z VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE
nebo VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG
.
Nakonec existují další interní možnosti předávané (s předponou VCPKG_
), na které by neměly být závislé.
Příklady
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()
Příklady najdete v microsoftu/vcpkg.
Poznámky
Tento příkaz nahradí vcpkg_configure_cmake()
.