Sto sperimentando con CMake un po 'per un repository C++, ma sto correndo un po' di problemi cercando di semplificare la creazione di applicazioni contro le librerie nello stesso albero dei sorgenti senza molto del codice CMake in più.facilmente includere intestazioni dalla dipendenza della libreria in cmake
Il layout della struttura di origine è fondamentalmente i seguenti:
ROOT
libs/
lib1/
lib2/
lib3/
apps/
app1/
app2/
app3/
Le librerie sono indipendenti l'uno dall'altro, e le applicazioni possono collegare contro una o più delle librerie.
Attualmente ho una radice CMakeLists.txt che elenca ogni applicazione e libreria come una sottodirectory in modo che se la libreria viene cambiata e l'applicazione viene ricostruita, così è la libreria. Ciò funziona correttamente e CMake lo collega senza che io debba specificare dove vive la libreria, ma non vedo un modo per fare qualcosa di simile per includere le directory.
C'è un modo comune per gestire questo? Preferirei che CMakeLists.txt di ogni applicazione non sia necessario elencare manualmente il percorso delle librerie di cui ha bisogno.