CMake: включить заголовки внешних библиотек - PullRequest
1 голос
/ 24 июня 2019

У меня есть этот фрагмент, и он отлично работает:

find_package(Qt5 COMPONENTS Core REQUIRED)
target_link_libraries( myproj Qt5::Core )
target_include_directories( myproj PRIVATE ${Qt5Core_INCLUDE_DIRS} )

потому что я хочу использовать Qwt . Теперь я запускаю find_library( LIB_qwt qwt ) и быстро получаю путь к .so. Но как мне получить путь к заголовку и добавить его к target_include_directories()?

Также мне действительно нужно вручную включать Qt? Если я этого не сделаю (но я безобразно включаю файлы Qwt), заголовки компиляции разрыва Qwt не обнаруживаются. Qt.

Это моя установка Qwt: libqwt-qt5-dev.

1 Ответ

1 голос
/ 24 июня 2019

Вы можете добавить ${LIB_qwt_INCLUDE_DIR} или ${QWT_INCLUDE_DIR} к target_include_directories после find_library( LIB_qwt qwt ). Вы должны включить Qt вручную.

Если это не сработает, вы можете самостоятельно найти путь, вы можете использовать find_path примерно так:

find_path(QWT_INCLUDE_DIR qwt.h)
target_include_directories( myproj PRIVATE ${Qt5Core_INCLUDE_DIRS} ${QWT_INCLUDE_DIR})

qwt.h должно быть где-то на пути, очевидно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...