У меня возникла проблема с проектом CMake со статической библиотекой. Мой проект strucutre выглядит следующим образом:Включить файлы заголовков из статической библиотеки с CMake
Foo/
|-- CMakeLists.txt
|-- lib/
|-- CMakeLists.txt
|-- libA/
|-- CMakeLists.txt
|-- libA.cpp
|-- libA.h
|-- libAB.h
|-- src/
|-- CMakeLists.txt
|-- main.cpp
|-- srcDirA/
|-- CMakeLists.txt
|-- srcA.h
|-- srcDirB/
|-- CMakeLists.txt
|-- srcB.cpp
|-- srcB.h
И */CMakeLists.txt выглядеть:
Foo/CMakeLists.txt:
cmake_minimum_required(VERSION 3.5.1)
project(FOO)
set(CMAKE_CXX_STANDARD 11)
add_subdirectory(lib)
add_subdirectory(src)
Foo/Библиотека/CMakeLists.txt :
add_subdirectory(libA)
Foo/Библиотека/Либа/CMakeLists.txt:
add_library (staticLibA STATIC libA.cpp)
Foo/SRC/CMakeLists.txt:
add_subdirectory(srcDirA)
add_subdirectory(srcDirB)
include_directories(".")
add_executable(foo main.cpp)
target_link_libraries(foo LINK_PUBLIC libA)
Foo/SRC/srcDirA/CMakeLists.txt пуст
Foo/SRC/srcDirB/CMakeLists.txt пуст
Теперь я пытаюсь включить заголовок из моей статической библиотеки в свой основной проект следующим образом:
Foo/src/main.cpp:
#include "srcDirB/srcB.h"
#include "libA/libA.h"
int main() {
//...
return 0;
}
Если я пытаюсь построить это с CMake, Либа генерируется, но я получаю фатальную ошибку:
libA/libA.h: No such file or directory.
Кто-нибудь знает, что я делаю неправильно? У меня есть create a ProjectConfig.cmake file?