Estoy experimentando con CMake un poco para un repositorio de C++, pero estoy teniendo algunos problemas al intentar facilitar la compilación de aplicaciones contra bibliotecas en el mismo árbol fuente sin mucho de código CMake adicional.incluye fácilmente los encabezados de la dependencia de la biblioteca en cmake
El diseño de la estructura de directorios es, básicamente, los siguientes:
ROOT
libs/
lib1/
lib2/
lib3/
apps/
app1/
app2/
app3/
Las bibliotecas son independientes entre sí, y las aplicaciones pueden enlazar con una o más de las bibliotecas.
Actualmente tengo una raíz CMakeLists.txt que enumera cada aplicación y biblioteca como un subdirectorio de modo que si la biblioteca se cambia y la aplicación se reconstruye, también lo hace la biblioteca. Esto funciona bien y CMake lo vincula sin que tenga que especificar dónde vive la biblioteca, pero no veo una manera de hacer algo similar para incluir directorios.
¿Hay una forma común de manejar esto? Prefiero no tener CMakeLists.txt de cada aplicación para listar manualmente la ruta a las bibliotecas que necesita.