Добрый день, возникла проблема в написание файла для cmake. Пытался сам решить, но в уроках, как правило, большинство примеров с использованием стандартных ситуаций.
В частности, у меня возникает такая проблема.
Вот есть такая структура проекта:
src/
main.cpp
class1.cpp
class2.cpp
class3.cpp
include/
class1.h
class2.h
class3.h
Плюс есть еще три заголовочных файла использующие, являющиеся другими библиотеками. Все они лежат в системной папке в /usr/include в ubuntu. Так же для них используются два ключа. Собственно, сложность заключается в том, что как правило, это не какие-то модульные библиотеки, которые лежат в папках, а просто файлики заголовочные. Притом хотелось бы сделать так, чтобы не явно указать путь, а cmake сам их искал.
Хотелось бы увидеть пример, как это должно выглядеть или хотя бы направить в нужную сторону.
Заранее спасибо!
Сначала ищешь средствами CMake библиотеку (find_package/pkg_check_modules/find_path), они устанавливают определенные CACHE переменные, которые ты используешь в свойствах своего target (target_link_libaries). Если внешняя библиотека не поддерживает поиск через CMake, то пишут обычно пишут и инклюдят файл FindSomeLib.cmake, где вызывают базовые утилиты поиска (вроде find_path) и создают IMPORTED target, содержащий все нужные флаги для компиляции.