vcpkg_cmake_configure
Konfigurowanie projektu opartego na CMake.
Użycie
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>...]
)
Aby użyć tej funkcji, musisz zależeć od portu vcpkg-cmake
pomocnika :
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
Parametry
SOURCE_PATH
Określa katalog zawierający CMakeLists.txt
.
Ta wartość jest zwykle uzyskiwana w wyniku wywołania polecenia pozyskiwania źródła, takiego jak vcpkg_from_github()
.
DISABLE_PARALLEL_CONFIGURE
Wyłącza równoległe uruchamianie kroku konfiguracji narzędzia CMake.
Domyślnie narzędzie vcpkg wyłącza zapisywanie z powrotem do katalogu źródłowego (za pośrednictwem nieudokumentowanej flagi CMAKE_DISABLE_SOURCE_CHANGES
narzędzia CMake) i konfiguruje równoległe wydawanie i debugowanie. Ta flaga instruuje program vcpkg, aby zezwolić na zapisy katalogu źródłowego i wykonać kroki konfiguracji sekwencyjnie.
NO_CHARSET_FLAG
Wyłącza przekazywanie /utf-8
podczas korzystania z wbudowanego łańcucha narzędzi systemu Windows.
Jest to wymagane w przypadku bibliotek, które ustawiają zestaw znaków własnego kodu źródłowego podczas określania wartości docelowej MSVC. Aby uzyskać /utf-8
więcej informacji, zobacz dokumentację MSVC.
WINDOWS_USE_MSBUILD
Użyj programu MSBuild zamiast innego generatora podczas określania wartości docelowej dla platformy Windows.
Domyślnie narzędzie vcpkg woli używać narzędzia Ninja jako generatora CMake dla wszystkich platform. Istnieją jednak przypadki brzegowe, w których program MSBuild ma inne zachowanie niż Ninja. Ta flaga powinna być przekazywana tylko wtedy, gdy projekt wymaga poprawnej kompilacji programu MSBuild. Ta flaga nie ma wpływu na cele MinGW.
GENERATOR
Określa generator CMake do użycia.
Domyślnie vcpkg woli używać Ninja jako generatorA CMake dla wszystkich platform lub "Unix Makefiles" dla platform innych niż Windows, gdy Ninja nie jest dostępny. Ten parametr może być używany w przypadku przypadków brzegowych, w których systemy kompilacji specyficzne dla projektu zależą od określonego generatora.
LOGFILE_BASE
Alternatywna nazwa katalogu głównego dla dzienników konfiguracji.
Wartość domyślna to config-${TARGET_TRIPLET}
. Nie powinien zawierać żadnych separatorów ścieżek. Dzienniki będą generowane zgodnie ze wzorcem ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log
OPTIONS
Dodatkowe opcje przekazywania do narzędzia CMake podczas konfiguracji.
Zobacz też Opcje niejawne.
OPTIONS_RELEASE
Dodatkowe opcje przekazywania do narzędzia CMake podczas konfiguracji wydania.
Są one dodatkiem do programu OPTIONS
.
OPTIONS_DEBUG
Dodatkowe opcje przekazywania do narzędzia CMake podczas konfiguracji debugowania.
Są one dodatkiem do programu OPTIONS
.
MAYBE_UNUSED_VARIABLES
Lista opcji narzędzia CMake, które mogą nie być odczytywane podczas kroku konfigurowania.
Narzędzie vcpkg wyświetli ostrzeżenie o wszelkich opcjach spoza tej listy, które nie zostały odczytane podczas kroku konfigurowania narzędzia CMake. Ta lista powinna zawierać opcje, które są odczytywane tylko podczas niektórych konfiguracji (na przykład w przypadku VCPKG_LIBRARY_LINKAGE
włączenia "static"
lub gdy niektóre funkcje są włączone).
Opcje niejawne
To polecenie automatycznie udostępnia kilka opcji narzędzia CMake.
CMAKE_BUILD_TYPE
parametr jest ustawiony na"Release"
lub"Debug"
odpowiednio.BUILD_SHARED_LIBS
parametr jest ustawiany zgodnie z wartościąVCPKG_LIBRARY_LINKAGE
.CMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}</debug>
odpowiednio do konfiguracjiCMAKE_TOOLCHAIN_FILE
iVCPKG_CHAINLOAD_TOOLCHAIN_FILE
są ustawione tak, aby uwzględnić plik łańcucha narzędzi vcpkg i potrójny łańcuch narzędzi.CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
. JeśliVCPKG_CMAKE_SYSTEM_NAME
parametr jest nieustawiony, wartość domyślna to"Windows"
.CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
jeśliVCPKG_CMAKE_SYSTEM_VERSION
jest ustawiona.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 wersji 2022-10-30)
To polecenie przekazuje również wszystkie opcje w programie VCPKG_CMAKE_CONFIGURE_OPTIONS
i opcje specyficzne dla konfiguracji z programu VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE
lub VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG
.
Na koniec istnieją dodatkowe opcje wewnętrzne przekazywane (z prefiksem VCPKG_
), które nie powinny być zależne.
Przykłady
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()
Wyszukaj przykłady w usłudze microsoft/vcpkg
Uwagi
To polecenie zastępuje vcpkg_configure_cmake()
element .