LINUX.ORG.RU

CMake и структура проекта


0

2

Начинаю писать (точне переписывать) небольшую библиотеку. Для сборки хочу использовать CMake. В корне имею приблизительную архитектуру:
build - каталог сборки
cmake - модули для CMake
deps - библиотеки (для всяких вонючих винд)
docs - документация в Doxygen
src - исходники *.cpp и *.h
tests - тесты
В CMake пока разобрался с подключением библиотек. От CMake я также хочу автоматизированную либы и тестов, а также генерирование документации. Кроме того, в тестах хочется инклюдить хедеры примерно таким образом:
#include «projectName/header.h»
Единственный способ, который я могу реализовать - это создать в src директорию projectName и уже там разместить исходники библиотеки, но выглядит это как то не очень.
Как-то криво я написал, прошу кинуть ссылки на небольшие библиотеки с подобной архитектурой. Очень хочется посмотреть на правильный CMakeLists.txt.

deps - библиотеки (для всяких вонючих винд)

Пожалуйста, не надо - в репозитории им делать не чего. Их можно положить в виндовую сборку, в крайнем случае возьмут оттуда.

Единственный способ, который я могу реализовать - это создать в src директорию projectName и уже там разместить исходники библиотеки, но выглядит это как то не очень.

Сделайте поддиректорию projectName в корне проекта.

Как-то криво я написал, прошу кинуть ссылки на небольшие библиотеки с подобной архитектурой. Очень хочется посмотреть на правильный CMakeLists.txt.

Вот это, например: https://github.com/AMDmi3/libSDL2pp

Doxygen подключается тривиально: https://github.com/it-rightway/rfl/blob/master/tools/share/cmake/Documentatio... (тут немного оверинжиниринга, понятно что достаточно

FIND_PACKAGE (Doxygen)
IF (DOXYGEN_FOUND)
  ADD_CUSTOM_TARGET()
ENDIF()

Тесты тоже - ENABLE_TESTING() + ADD_EXECUTABLE(mytest) + ADD_TEST(MyTest mytest)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.