В моем проекте у меня есть папка, содержащая 3 подкаталога. 2 из 3 каталогов содержат только заголовочные файлы, в то время как 3-й каталог имеет статическую библиотеку. Чтобы быть прозрачным поток выглядит следующим образом:
Я написал списки CMake для папок 1 и 2 и общий CMake для MainFolder. Когда я запускаю проект, я получаю сообщение об ошибке:
Невозможно указать библиотеки ссылок для цели, которая не построена
по этому проекту
Мой файл Cmake выглядит следующим образом:
1) Отдельные CMakeLists.txt для Папки 1 и Папки2 содержат
add_library(mylib INTERFACE)
target_sources(mylib INTERFACE ${CMAKE_CURRENT_LIST_DIR}/mylib.h)
target_link_libraries(mylib INTERFACE ${CMAKE_CURRENT_LIST_DIR})
2) Всего CMakeLists.txt для MainFolder содержит
target_link_libraries( lib1 lib2 Folder3/lib3)