создаю CMake-Config, однако она зависима от двух других сторонних. Вместе с этим в папке проекта создаю некоторые примеры работы с библиотекой. Примеры также построены на CMake, через CMake нахожу свою библиотеку с помощью find_package и только эту библиотеку!
При компиляции примеров мне вылетают ошибки линковщика, который не может найти объекты сторонних библиотек. У меня вопрос, нужно ли мне отдельно в CMake файлах примеров прописывать подключение сторонних библиотек, или эти библиотеки должны самостоятельно подключиться посредству использования ранее созданного CMake-Config?
Чем вариант с add_subdirectory (как example) не устраивает? В кликхаусе также сделано и все ок, тем более, что зависимостей всего пару
Надо cmake config делать через configure_package_config_file(), и в передаваемом шаблоне искать транзитивные зачисимости через find_dependency()
Примерно как-то так, как я чуваку сделал в его либке: https://github.com/Eixini/QNixieNumber/blob/main/QNixieNumberConfig.cmake.in
Сделал по аналогии, по итогу выдает ошибку: [cmake] Target "VKAPI" INTERFACE_LINK_DIRECTORIES property contains path: [cmake] [cmake] "/Users/totalboy/Desktop/Projects/C++/VK-API/include" [cmake] [cmake] which is prefixed in the source directory. Запушил в гит, можешь посмотреть CMake https://github.com/qucals/VK-API/tree/develop
Надо использовать GNUInstallDirs
https://github.com/qucals/VK-API/blob/fd53b16803d39f90538893157e2e2b09f52b384a/CMakeLists.txt#L56 - вот это надо заинклудить до первого использования CMAKE_INSTALL_INCLUDEDIR
Объявил раньше, но не помогло. Та же ошибка https://github.com/qucals/VK-API/blob/develop/CMakeLists.txt
Обсуждают сегодня