Wie erstelle ich eine cmake-Bibliothek nur für Header, die von externen Header-Dateien abhängt?

Ich habe ein Projekt mit der folgenden Dateistruktur:

project
 |
 |-------> lib1
 |           |----> lib1.h
 |
 |-------> lib2
 |           |----> lib2.h
 |
 |-------> main.cc

Die zwei Bibliothekenlib1 undlib2 enthält nur Header-Dateien, währendlib2.h enthältlib1.h, undmain.cc enthältlib2.h.

Wie schreibe ich jetzt die cmake-Datei für dieses Projekt? Ich habe versucht, ein @ zu erstellinterface library zumlib2, aber der Compiler kann @ nicht findlib1.h. Hier ist der Inhalt meiner cmake-Dateien:

CMakeLists.txt für lib2:

add_library(lib2 INTERFACE)
target_sources(lib2 INTERFACE lib2.h)
target_include_directories(lib2 INTERFACE ../lib1/lib1.h)

CMakeLists.txt für das gesamte Projekt:

add_executable(project main.cc)
target_link_libraries(project lib2)

Was ist das Problem in den cmake-Dateien?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage