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.hemain.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?

questionAnswers(2)

yourAnswerToTheQuestion