Como criar uma biblioteca somente de cabeçalho cmake que depende de arquivos de cabeçalho externos?
Eu tenho um projeto com a seguinte estrutura de arquivos:
project
|
|-------> lib1
| |----> lib1.h
|
|-------> lib2
| |----> lib2.h
|
|-------> main.cc
As duas libslib1
elib2
contém apenas arquivos de cabeçalho enquantolib2.h
incluilib1.h
emain.cc
incluilib2.h
.
Como escrevo o arquivo cmake para este projeto agora? Eu tentei criar umbiblioteca de interface paralib2
, mas o compilador não pode encontrarlib1.h
. Aqui está o conteúdo dos meus arquivos cmake:
CMakeLists.txt para lib2:
add_library(lib2 INTERFACE)
target_sources(lib2 INTERFACE lib2.h)
target_include_directories(lib2 INTERFACE ../lib1/lib1.h)
CMakeLists.txt para todo o projeto:
add_executable(project main.cc)
target_link_libraries(project lib2)
Qual é o problema nos arquivos cmake?