Вы хотите установить ваши target_include_directories в вашем libA / CMakeLists.txt. После того как цель построена с помощью add_library, вы хотите добавить следующую инструкцию:
add_library(libA libA.c libA.h)
target_include_directories(libA PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
Эта инструкция будет указывать, что libA и любая цель, которая ссылается на нее, также рассматривает $ {CMAKE_CURRENT_SOURCE_DIR} как путь для поиска включает в себя. Это известно как publi c заголовок библиотеки. В идеале вы хотели бы, чтобы эти заголовочные файлы находились в их собственном подкаталоге, чтобы вы могли легко включать их в другие проекты, не имея файла libA. c в каталоге include. Например:
.
|- CMakeList.txt
`- src
|- lib
| |- CMakeList.txt
| `- libA
| |- CMakeList.txt
| |- include
| | `-libA.h
| |- src
| `- libA.c
`- main
|- CMakeList.txt
`- main.c