У меня есть проект CMake, в котором я связываюсь с fmt::fmt, который указан в conanfile.py и установлен, а все файлы конфигурации cmake созданы Conan и используются CMake, пока все хорошо. (Я использую импорт CMakeDeps, CMakeToolchain, CMake из conan.tools.cmake
Я пытаюсь
скопировать все транзитивные зависимости моего целевого tgt с помощью
https://cmake.org/cmake/help/git-stage/ ... NTIME_DLLS (я знаю о функции импорта Конана, но я хотел дать ей попробуйте с CMake!)
Код: Выделить всё
add_executable(exe main.c)
target_link_libraries(exe PRIVATE otherTarget fmt::fmt)
add_custom_command(TARGET exe POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $ $
COMMAND_EXPAND_LISTS
)
Как ни странно, другой Target.dll будет скопирован в Exe. Но fmt::fmt dll не копируется, потому что в сгенерированных файлах что-то неправильно настроено? Однако Конан устанавливает для IMPORTED_LOCATION значение .../lib/fmtd.lib в ссылающихся целях fmt::fmt, и я подозреваю, что CMake не включает его в TARGET_RUNTIME_DLLS, потому что только . dll лечатся?
Кто-нибудь знает, что здесь происходит?
Подробнее здесь:
https://stackoverflow.com/questions/702 ... -and-conan