Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Объединение и исправление целевых объектов выпуска и отладки 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() самостоятельно должно работать, так как PACKAGE_NAME по умолчанию используется значение и CONFIG_PATH значение share/${PACKAGE_NAME}по умолчанию${PORT}.
Для портов, в которых переданное find_package имя пакета отличается от имени порта, PACKAGE_NAME следует изменить вместо этого имя.
Для портов, из которых нельзя задать каталог *config.cmake файлов, используйте CONFIG_PATH каталог, из которого приходят файлы.
По умолчанию родительский каталог CONFIG_PATH удаляется, если он называется cmake.
DO_NOT_DELETE_PARENT_CONFIG_PATH Передача параметра отключает такое поведение, так как удобно для портов, устанавливающих несколько файлов конфигурации пакета CMake.
Параметр NO_PREFIX_CORRECTION отключает исправление _IMPORT_PREFIX vcpkg из-за перемещения файлов конфигурации.
В настоящее время исправление не учитывает способ перемещения файлов и применяет довольно простое исправление, которое в некоторых случаях даст неправильные результаты.
Принцип работы
- Перемещается
/debug/<CONFIG_PATH>/*targets-debug.cmakeв/share/${PACKAGE_NAME}. - Преобразует все ссылки, соответствующие
/bin/*.exe/${TOOLS_PATH}/*.exeWindows. - Преобразует все ссылки, соответствующие
/bin/*/${TOOLS_PATH}/*другим платформам. ${_IMPORT_PREFIX}Исправления в автоматически созданных целевых объектах.- Заменяет
${CURRENT_INSTALLED_DIR}${_IMPORT_PREFIX}его в конфигурациях. - Слияние
INTERFACE_LINK_LIBRARIESконфигураций выпуска и отладки. - Заменяется
${VCPKG_IMPORT_PREFIX}целевыми объектами${CURRENT_INSTALLED_DIR}. - Удаляет
/debug/<CONFIG_PATH>/*config.cmake.