может ли модуль Cmake pkg-config сказать, является ли библиотека stati c или нет - PullRequest
0 голосов
/ 19 июня 2020

У меня есть программа, созданная с помощью 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)

...