Tengo un proyecto CMake C++ que está creciendo rápidamente y que a menudo está cambiando. Estoy tratando de reducir los tiempos de compilación al mínimo.¿Cómo generar dependencias de compilación desde CMake o make?
A menudo, cuando reconstruyo el proyecto, especialmente después de un cambio de encabezado, me sorprende la cantidad de unidades de compilación que deben recompilarse. Estoy tratando de identificar #include
s que posiblemente se pueden evitar, por ejemplo mediante el uso de declaraciones previas o al no incluir funciones triviales en los encabezados.
¿Hay alguna forma de averiguar, desde CMake, desde el archivo Makefile generado, o directamente desde los archivos, qué unidades dependen de qué encabezados?
Una lista sería agradable, un gráfico visual (graphviz?) Aún más agradable. Google no encuentra nada para mí. CMake tiene la opción --graphviz
, pero opera en objetivos, no en unidades de compilación individuales.
Se prefiere algo multiplataforma (es decir, usando solo CMake), pero también me conformaré con Linux.
Este es solo el cierre transitivo (es decir, que incluye dependencias indirectas), pero es útil, ¡gracias! – Thomas