CMake как подключить "headers-библиотеку"?

Задача следующая: есть "статическая"-библиотека, на самом же деле это автоматически сгенерированная папка С/С++ хедеров. Проблема в том, что они не связанные между собою СМаке-ом, как того требует проект.

СМаке 3.23.3 / С++17 / Linux 18.04 / GCC 7.5.0

|- main.cpp
|- CMakeLists.txt
|- Libraries(subdir)
|      |- Mavlink(subsubdir)
|      |      |- *subdirs with headers and headers*
|      |      |- mav_main.h    // Main file to include in code
|      |- CMakeLists.txt(in_subdir)

Вот то малое, что как минимум не выбрасывало ошибок до недавнего времени:

CMakeLists.txt(main)

...
add_subdirectory(Libraries)

taget_link_libraries(${CMAKE_PROJECT_NAME} Libraries/Mavlink)
...

CMakeLists.txt(in_subdir)

add_library(MAV INTERFACE)
target_include_directories(NAME_proj PUBLIC &{CMAKE_CURRENT_LIST_DIR})

Спонтанно появилось следующие сообщение:

.. cannot find -lLibraries/Mavlink

Вопрос:

  1. Какие есть варианты решения задачи? Я встречал советы прописывания всего ручками, но там слишком много файлов.

  2. Как автоматизировать (1) если иного выхода нету?

  3. Возможно ли описать/ин-ть всю либу Mavlink из CMakeLists.txt(in_subdir)? В дальнейшем хотелось бы из нее управлять будущими либамию.


Ответы (0 шт):