История изменений
Исправление 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")
Никаких относительных путей, хотя можешь попробовать и вспомнить меня если поделка взлетит и придётся её саппортить.