У меня есть программа, созданная с помощью cmake, которая (необязательно) зависит от библиотеки (openwsman
), которая сама зависит от некоторых библиотек (libcurl
, libssl
, libxml-2.0
...)
pkg_check_modules(winrm openwsman++ openwsman)
IF (${winrm_FOUND})
include_directories(${winrm_INCLUDE_DIRS})
add_definitions(-DHAVE_WINRM=openwsman)
target_sources(launch PRIVATE src/exec_impl_winrm_openwsman.cpp)
target_link_libraries(Tests PRIVATE ${winrm_LIBRARIES})
ENDIF()
Если библиотека openwsman предоставляет общие объекты, ссылка работает нормально, а двоичный файл зависит от библиотек, а libwsman * .so зависит от
Но если предоставлены только библиотеки stati c, компоновщик должен иметь доступ к библиотекам, используемым указанными библиотеками stati c (libcurl, libssl, libcrypto, lib xml -2.0)
Есть ли способ в cmake узнать библиотеки, предоставляемые $ {winrm_LIBRARIES} - это stati c?
(Кстати: openwsman НЕ предоставляет параметры ссылки stati c в своем файле .p c, как это делает libcurl)