vcpkg_cmake_config_fixup
Scal i popraw elementy docelowe i konfiguracje narzędzia CMake w celu obsługi generatorów wielokonfiguracji.
Użycie
vcpkg_cmake_config_fixup(
[PACKAGE_NAME <name>]
[CONFIG_PATH <config-directory>]
[TOOLS_PATH <tools/${PORT}>]
[DO_NOT_DELETE_PARENT_CONFIG_PATH]
[NO_PREFIX_CORRECTION]
)
Aby użyć tej funkcji, musisz zależeć od portu vcpkg-cmake-config
pomocnika :
"dependencies": [
{
"name": "vcpkg-cmake-config",
"host": true
}
]
Ponadto naprawia typowe problemy z obiektami docelowymi, takie jak ścieżki bezwzględne i niepoprawnie umieszczone pliki binarne.
W przypadku wielu portów vcpkg_cmake_config_fixup()
należy pracować samodzielnie, ponieważ PACKAGE_NAME
wartości domyślne ${PORT}
to i CONFIG_PATH
domyślnie to share/${PACKAGE_NAME}
.
W przypadku portów, w których przekazana nazwa find_package
pakietu jest różna od nazwy portu, PACKAGE_NAME
należy zmienić jej nazwę.
W przypadku portów *config.cmake
, w których nie można ustawić katalogu plików, użyj polecenia , CONFIG_PATH
aby zmienić katalog, z którego pochodzą pliki.
Domyślnie katalog nadrzędny elementu CONFIG_PATH
jest usuwany, jeśli ma nazwę "cmake".
Przekazywanie DO_NOT_DELETE_PARENT_CONFIG_PATH
opcji powoduje wyłączenie takiego zachowania, ponieważ jest to wygodne w przypadku portów, które instalują więcej niż jeden plik konfiguracji pakietu CMake.
Opcja NO_PREFIX_CORRECTION
wyłącza korektę wykonaną _IMPORT_PREFIX
przez program vcpkg z powodu przenoszenia plików konfiguracji.
Obecnie korekta nie uwzględnia sposobu przenoszenia plików i stosuje raczej po prostu korektę, która w niektórych przypadkach przyniesie nieprawidłowe wyniki.
Jak to działa
- Przechodzi
/debug/<CONFIG_PATH>/*targets-debug.cmake
do ./share/${PACKAGE_NAME}
- Przekształca wszystkie odwołania pasujące
/bin/*.exe
do/${TOOLS_PATH}/*.exe
w systemie Windows. - Przekształca wszystkie odwołania pasujące
/bin/*
do/${TOOLS_PATH}/*
na innych platformach. - Poprawki
${_IMPORT_PREFIX}
w automatycznie generowanych miejscach docelowych. ${CURRENT_INSTALLED_DIR}
Zamienia element na${_IMPORT_PREFIX}
w konfiguracjach.- Scalanie
INTERFACE_LINK_LIBRARIES
konfiguracji wydania i debugowania. - Zastępuje elementem
${VCPKG_IMPORT_PREFIX}
w elementach${CURRENT_INSTALLED_DIR}
docelowych. - Usuwa element
/debug/<CONFIG_PATH>/*config.cmake
.