vcpkg_cmake_configure
CMake tabanlı bir proje yapılandırın.
Kullanım
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>...]
)
Bu işlevi kullanmak için yardımcı bağlantı noktasına vcpkg-cmake
bağlı olmanız gerekir:
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
Parametreler
SOURCE_PATH
öğesini içeren CMakeLists.txt
dizini belirtir.
Bu değer genellikle gibi vcpkg_from_github()
bir kaynak alma komutunun çağrılması sonucu elde edilir.
DISABLE_PARALLEL_CONFIGURE
CMake yapılandırma adımını paralel olarak çalıştırmayı devre dışı bırakır.
Varsayılan olarak vcpkg, kaynak dizine (belgelenmemiş CMake bayrağı CMAKE_DISABLE_SOURCE_CHANGES
aracılığıyla) geri yazmayı devre dışı bırakır ve Release ve Debug'ı paralel olarak yapılandırr. Bu bayrak, vcpkg'ye kaynak dizin yazmalarına izin verme ve yapılandırma adımlarını sıralı olarak yürütme talimatı verir.
NO_CHARSET_FLAG
Yerleşik Windows araç zincirini kullanırken geçişi /utf-8
devre dışı bırakır.
BU, MSVC hedeflenirken kendi kaynak kodunun karakter kümesini ayarlayan kitaplıklar için gereklidir. Daha fazla bilgi için /utf-8
MSVC belgelerine bakın.
WINDOWS_USE_MSBUILD
Windows platformlarını hedeflerken başka bir oluşturucu yerine MSBuild kullanın.
Varsayılan olarak vcpkg tüm platformlar için CMake Oluşturucu olarak Ninja kullanmayı tercih eder. Ancak, MSBuild'in Ninja'dan farklı davranışlara sahip olduğu uç durumlar vardır. Bu bayrak yalnızca projenin doğru şekilde derlenmesi için MSBuild gerektiriyorsa geçirilmelidir. Bu bayrağın MinGW hedefleri için hiçbir etkisi yoktur.
JENERATÖR
Kullanılacak CMake oluşturucuyu belirtir.
Varsayılan olarak vcpkg tüm platformlar için CMake Oluşturucu olarak Ninja'yı veya Ninja kullanılamadığında Windows dışı platformlar için "Unix Makefiles" kullanmayı tercih eder. Bu parametre, projeye özgü derleme sistemlerinin belirli bir oluşturucuya bağımlı olduğu uç durumlar için kullanılabilir.
LOGFILE_BASE
Yapılandırma günlükleri için alternatif bir kök adı.
varsayılan değeridir config-${TARGET_TRIPLET}
. Hiçbir yol ayırıcısı içermemelidir. Günlükler desenle eşleşen şekilde oluşturulur ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log
OPTIONS
Yapılandırma sırasında CMake'e geçirmek için ek seçenekler.
Ayrıca bkz. Örtük Seçenekler.
OPTIONS_RELEASE
Yayın yapılandırması sırasında CMake'e geçirmek için ek seçenekler.
Bunlara ek olarak OPTIONS
vardır.
OPTIONS_DEBUG
Hata ayıklama yapılandırması sırasında CMake'e geçirebilmek için ek seçenekler.
Bunlara ek olarak OPTIONS
vardır.
MAYBE_UNUSED_VARIABLES
Yapılandırma adımı sırasında okunmayan CMake seçeneklerinin listesi.
vcpkg, CMake yapılandırma adımı sırasında okunmayan bu listenin dışındaki seçenekler hakkında uyarır. Bu liste yalnızca belirli yapılandırmalar sırasında (belirli özelliklerin ne zaman veya ne zaman VCPKG_LIBRARY_LINKAGE
"static"
etkinleştirildiği gibi) okunan seçenekler içermelidir.
Örtük Seçenekler
Bu komut, CMake'ye otomatik olarak çeşitli seçenekler sağlar.
CMAKE_BUILD_TYPE
veya"Debug"
olarak ayarlanır"Release"
.BUILD_SHARED_LIBS
değerineVCPKG_LIBRARY_LINKAGE
göre ayarlanır.CMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}</debug>
yapılandırmaya uygunCMAKE_TOOLCHAIN_FILE
veVCPKG_CHAINLOAD_TOOLCHAIN_FILE
vcpkg araç zinciri dosyasını ve üçlü araç zincirini içerecek şekilde ayarlanır.CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
. ayarlanmamışsaVCPKG_CMAKE_SYSTEM_NAME
, varsayılan olarak olur"Windows"
.CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
ayarlanırsaVCPKG_CMAKE_SYSTEM_VERSION
.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
(sürüm 2022-10-30'dan itibaren)
Bu komut ayrıca veya içindeki VCPKG_CMAKE_CONFIGURE_OPTIONS
tüm seçenekleri ve yapılandırmaya özgü seçenekleri VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE
VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG
iletir.
Son olarak, içinde geçirilen ek iç seçenekler (bir VCPKG_
ön ek ile) bağımlı olmaması gerekir.
Örnekler
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()
Microsoft/vcpkg'de örnek arayın
Açıklamalar
Bu komut öğesinin yerini alır vcpkg_configure_cmake()
.