CMake GET_RUNTIME_DEPENDENCIES не может найти библиотеку dll, когда она связана через lib (библиотека импорта)? - PullRequest
0 голосов
/ 03 февраля 2020

Сборка ОС: Windows 10, Cmake 3.16.3.

Я использую target_link_libraries, чтобы связать сторонний файл .lib с моей .dll библиотекой.

Но когда я использую GET_RUNTIME_DEPENDENCIES для установки dll, зависимость не обнаруживается.

Это происходит только на Windows, установка на Linux в порядке.

Есть какие-нибудь подсказки, как решить эту проблему или хотя бы как ее отладить?

Какая именно команда использует CMake на Windows для определения зависимостей?

Я называю GET_RUNTIME_DEPENDENCIES следующим образом:

file(GET_RUNTIME_DEPENDENCIES
    RESOLVED_DEPENDENCIES_VAR RES
    UNRESOLVED_DEPENDENCIES_VAR UNRES
    CONFLICTING_DEPENDENCIES_PREFIX CONFLICTING_DEPENDENCIES
    EXECUTABLES ${EXECS}
    LIBRARIES ${LIBS} ${MODULES} ${QTPLUGINS_LIBS}
    DIRECTORIES ${RUNTIME_DEPENDENCIES_DIRECTORIES}
    POST_EXCLUDE_REGEXES ${PLATFORM_POST_EXCLUDE_REGEXES}
)

Где LIBS содержит мои dll, но не RES нет UNRES содержит путь к 3-му пату dll.

...