Я не совсем уверен, что это за терминология, но как я могу добавить несколько папок для разных возможных источников одного набора заголовков? То, что я пытаюсь сделать, это добавить опцию сборки для различных аппаратных устройств для уровня аппаратной абстракции, но способ, который я реализовал, похоже, не работает с интеллектуальными опциями в IDE.
Это текущим способом я реализовал CMakeLists.txt для HAL:
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/${BUILD_TARGET})
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/headers/*.hpp
${CMAKE_CURRENT_SOURCE_DIR}/${BUILD_TARGET}/*.*pp)
add_library(tortilla SHARED ${SOURCES})
и соответствующую строку для root CMakeLists.txt:
set(BUILD_TARGET "SDL" CACHE STRING "Device you are building for")
Кроме того, это структура каталогов:
tortilla
--headers
----display.hpp
--SDL
----display.cpp
--N0100
----display.cpp
--N0110
----display.cpp