Я бы хотел создать статическую библиотеку со следующей структурой:
Foo/
|-- CMakeLists.txt
|-- file1.c
|-- some_definitions.h
|-- drivers/
|-- file2.c
Это код cmake
add_library(myHAL STATIC)
target_sources(myHAL
PRIVATE
"${CMAKE_CURRENT_LIST_DIR}/file1.c"
"${CMAKE_CURRENT_LIST_DIR}/drivers/file2.c"
)
target_include_directories(myHAL PUBLIC ${CMAKE_CURRENT_LIST_DIR}/)
target_include_directories(myHAL PUBLIC ${CMAKE_CURRENT_LIST_DIR}/drivers/)
file2 включает some_definitions.h.В some_definitions находятся некоторые #defines.
Я не могу собрать, определения не найдены (например, FLS_FEATURE_A undecleared (первое использование)) Когда я перемещаю файл some_definitions.h в папку драйверов, я могу собрать.
Что я делаю не так?Я предполагаю, что препроцессор не ищет определений, или some_definitions.h не найден.