LINUX.ORG.RU

История изменений

Исправление pon4ik, (текущая версия) :

Оформлять каждый подпроект в виде либы с инклудами лежащими в директории вида:

root/subproject/include/subproject

В местах включения использовать как стороннее api:

#include <subproject/api.hpp>

В CMake файлах, либо сразу использовать find модули для api - это идеальный вариант, но потребует написания find модуля на каждый подпроект, зато проще потом будет выдрать api из дерева в отдельную библиотеку. Либо, просто прописывать инклуды в виде примерно:

include_directories("${CMAKE_SOURCE_DIR}/subproject/include")

Никаких относительных путей, хотя можешь попробовать и вспомнить меня если поделка взлетит и придётся её саппортить.

Исходная версия pon4ik, :

Оформлять каждый подпроект в виде либы с инклудами лежащими в директории вида:

root/subproject/include/subproject

В местах включения использовать как стороннее api:

#include <subroject/api.hpp>

В CMake файлах, либо сразу использовать find модули для api - это идеальный вариант, но потребует написания find модуля на каждый подпроект, зато проще потом будет выдрать api из дерева в отдельную библиотеку. Либо, просто прописывать инклуды в виде примерно:

include_directories("${CMAKE_SOURCE_DIR}/subproject/include")

Никаких относительных путей, хотя можешь попробовать и вспомнить меня если поделка взлетит и придётся её саппортить.