vcpkg_cmake_configure
CMake 기반 프로젝트를 구성합니다.
사용
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>...]
)
이 함수를 사용하려면 도우미 포트 vcpkg-cmake
에 의존해야 합니다.
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
매개 변수
SOURCE_PATH
를 포함하는 디렉터리를 지정합니다 CMakeLists.txt
.
이 값은 일반적으로 같은 vcpkg_from_github()
소스 획득 명령을 호출한 결과로 가져옵니다.
DISABLE_PARALLEL_CONFIGURE
CMake 구성 단계를 병렬로 실행하지 않도록 설정합니다.
기본적으로 vcpkg는 문서화되지 않은 CMake 플래그 CMAKE_DISABLE_SOURCE_CHANGES
를 통해 원본 디렉터리에 다시 쓰기를 사용하지 않도록 설정하고 릴리스 및 디버그를 병렬로 구성합니다. 이 플래그는 원본 디렉터리 쓰기를 허용하고 구성 단계를 순차적으로 실행하도록 vcpkg에 지시합니다.
NO_CHARSET_FLAG
기본 제공 Windows 도구 체인을 사용할 때 전달 /utf-8
을 사용하지 않도록 설정합니다.
MSVC를 대상으로 할 때 자체 소스 코드의 문자 집합을 설정하는 라이브러리에 필요합니다. 자세한 내용은 MSVC 설명서를 /utf-8
참조하세요.
WINDOWS_USE_MSBUILD
Windows 플랫폼을 대상으로 할 때 다른 생성기 대신 MSBuild를 사용합니다.
기본적으로 vcpkg는 Ninja를 모든 플랫폼에 대한 CMake 생성기로 사용하는 것을 선호합니다. 그러나 MSBuild가 Ninja와 다른 동작을 가지는 에지 사례가 있습니다. 이 플래그는 프로젝트에서 MSBuild를 올바르게 빌드해야 하는 경우에만 전달되어야 합니다. 이 플래그는 MinGW 대상에 영향을 주지 않습니다.
발생기
사용할 CMake 생성기를 지정합니다.
기본적으로 vcpkg는 Ninja를 모든 플랫폼에 대한 CMake 생성기로 사용하거나 Ninja를 사용할 수 없는 경우 비 Windows 플랫폼의 경우 "Unix 메이크파일"을 사용하는 것을 선호합니다. 이 매개 변수는 프로젝트별 빌드 시스템이 특정 생성기에 의존하는 에지 사례에 사용할 수 있습니다.
LOGFILE_BASE
구성 로그의 대체 루트 이름입니다.
기본값은 config-${TARGET_TRIPLET}
입니다. 경로 구분 기호를 포함하면 안 됩니다. 패턴과 일치하는 로그가 생성됩니다. ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log
OPTIONS
구성 중에 CMake에 전달할 추가 옵션입니다.
암시적 옵션도 참조하세요.
OPTIONS_RELEASE
릴리스 구성 중에 CMake에 전달할 추가 옵션입니다.
이러한 항목은 .에 추가됩니다 OPTIONS
.
OPTIONS_DEBUG
디버그 구성 중에 CMake에 전달할 추가 옵션입니다.
이러한 항목은 .에 추가됩니다 OPTIONS
.
MAYBE_UNUSED_VARIABLES
구성 단계 중에 읽지 못할 수 있는 CMake 옵션 목록입니다.
vcpkg는 CMake 구성 단계에서 읽지 않은 이 목록 외부의 모든 옵션에 대해 경고합니다. 이 목록에는 특정 구성 중에만 읽는 옵션(예: 특정 기능이 활성화된 시기 VCPKG_LIBRARY_LINKAGE
"static"
또는 시기)이 포함되어야 합니다.
암시적 옵션
이 명령은 CMake에 대한 몇 가지 옵션을 자동으로 제공합니다.
CMAKE_BUILD_TYPE
가 설정되거나"Debug"
적절하게 설정"Release"
됩니다.BUILD_SHARED_LIBS
의 값에 따라 설정됩니다VCPKG_LIBRARY_LINKAGE
.CMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}</debug>
구성에 적합합니다.CMAKE_TOOLCHAIN_FILE
vcpkgVCPKG_CHAINLOAD_TOOLCHAIN_FILE
도구 체인 파일 및 삼중 도구 체인을 포함하도록 설정됩니다.CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}
. 설정되지 않은 경우VCPKG_CMAKE_SYSTEM_NAME
기본값은 .입니다"Windows"
.CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}
가 설정되어 있으면 00/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
(버전 2022-10-30 이후)
또한 이 명령은 모든 옵션 VCPKG_CMAKE_CONFIGURE_OPTIONS
과 구성 관련 옵션을 VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE
전달합니다 VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG
.
마지막으로, 접두사를 사용하여 전달되어야 VCPKG_
하는 추가 내부 옵션이 있습니다.
예제
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()
설명
이 명령은 .를 대체합니다.vcpkg_configure_cmake()
Source
vcpkg