vcpkg_cmake_config_fixup
다중 구성 생성기를 지원하기 위해 릴리스 및 디버그 CMake 대상 및 구성을 병합하고 수정합니다.
사용
vcpkg_cmake_config_fixup(
[PACKAGE_NAME <name>]
[CONFIG_PATH <config-directory>]
[TOOLS_PATH <tools/${PORT}>]
[DO_NOT_DELETE_PARENT_CONFIG_PATH]
[NO_PREFIX_CORRECTION]
)
이 함수를 사용하려면 도우미 포트 vcpkg-cmake-config
에 의존해야 합니다.
"dependencies": [
{
"name": "vcpkg-cmake-config",
"host": true
}
]
또한 절대 경로 및 잘못 배치된 이진 파일과 같은 대상의 일반적인 문제를 수정합니다.
많은 포트 vcpkg_cmake_config_fixup()
의 경우 기본적으로 작동하며 기본값은 ${PORT}
CONFIG_PATH
.로 share/${PACKAGE_NAME}
설정 PACKAGE_NAME
됩니다.
전달된 find_package
패키지 이름이 포트 이름과 PACKAGE_NAME
다른 포트의 경우 대신 해당 이름으로 변경해야 합니다.
파일의 디렉터리를 설정할 CONFIG_PATH
수 없는 포트의 *config.cmake
경우 파일을 가져올 디렉터리를 변경합니다.
기본적으로 "cmake"라는 이름의 부모 디렉터리가 CONFIG_PATH
제거됩니다.
DO_NOT_DELETE_PARENT_CONFIG_PATH
이 옵션을 전달하면 둘 이상의 CMake 패키지 구성 파일을 설치하는 포트에 편리하므로 이러한 동작이 비활성화됩니다.
이 NO_PREFIX_CORRECTION
옵션은 구성 파일 이동으로 인해 vcpkg에서 수행된 수정 _IMPORT_PREFIX
을 사용하지 않도록 설정합니다.
현재 수정은 파일 이동 방법을 고려하지 않으며, 경우에 따라 잘못된 결과를 생성하는 단순히 수정을 적용합니다.
작동 방식
- 으로
/share/${PACKAGE_NAME}
이동합니다/debug/<CONFIG_PATH>/*targets-debug.cmake
. - Windows에서 일치하는
/bin/*.exe
모든 참조를/${TOOLS_PATH}/*.exe
변환합니다. - 다른 플랫폼에서 일치하는
/bin/*
모든 참조를/${TOOLS_PATH}/*
변환합니다. ${_IMPORT_PREFIX}
자동 생성된 대상의 수정 사항입니다.- 구성에서 대체
${_IMPORT_PREFIX}
합니다${CURRENT_INSTALLED_DIR}
. INTERFACE_LINK_LIBRARIES
릴리스 및 디버그 구성의 병합입니다.${CURRENT_INSTALLED_DIR}
대상에서 대체${VCPKG_IMPORT_PREFIX}
합니다./debug/<CONFIG_PATH>/*config.cmake
을 제거합니다.
예제
Source
vcpkg