Ich experimentiere mit CMake ein bisschen für ein C++ - Repository, aber ich renne in einige Schwierigkeiten zu versuchen, es einfach zu erstellen Anwendungen gegen Bibliotheken in der gleichen Quellstruktur ohne viel von zusätzlichem CMake-Code.leicht Header aus der Bibliothek Abhängigkeit in cmake
Das Layout der Baumquelle ist im Grunde die folgenden:
ROOT
libs/
lib1/
lib2/
lib3/
apps/
app1/
app2/
app3/
Die Bibliotheken sind unabhängig voneinander und die Anwendungen verknüpfen kann gegen einen oder mehrere der Bibliotheken.
Derzeit habe ich eine Wurzel CMakeLists.txt, die jede Anwendung und Bibliothek als ein Unterverzeichnis auflistet, so dass, wenn die Bibliothek geändert und die Anwendung neu erstellt wird, auch die Bibliothek. Das funktioniert gut und CMake verbindet es, ohne dass ich angeben muss, wo die Bibliothek lebt, aber ich sehe keine Möglichkeit, etwas ähnliches für Include-Verzeichnisse zu tun.
Gibt es einen gemeinsamen Weg, damit umzugehen? Ich würde es vorziehen, nicht die CMakeLists.txt jeder Anwendung den Pfad zu den Bibliotheken, die es benötigt, manuell aufzulisten.