Uso CMake con GNU Make y me gustaría ver todos los comandos exactamente (por ejemplo, cómo se ejecuta el compilador, todos los indicadores, etc.).
GNU make tiene --debug, pero no parece ser tan útil ¿hay alguna otra opción? ¿CMake proporciona indicadores adicionales en el Makefile generado para fines de depuración?

mkdir build; cd build; cmake .. --debug-output; make VERBOSE=1Respuestas:
Cuando ejecute make, agregue
VERBOSE=1para ver el resultado completo del comando. Por ejemplo:O puede agregar
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ONal comando cmake para obtener un resultado detallado del comando detallado de los Makefiles generados.Para reducir algunos resultados posiblemente menos interesantes, puede utilizar las siguientes opciones. La opción
CMAKE_RULE_MESSAGES=OFFelimina líneas como [33%] Building C object ... , mientras que--no-print-directoryle dice a make que no imprima el directorio actual filtrando líneas comomake[1]: Entering directoryymake[1]: Leaving directory.fuente
cmake -GNinja . ; ninja -vmuestra una salida detallada muy agradable con un mínimo de pelusa.cmake --build . -- VERBOSE=1Es conveniente configurar la opción en el
CMakeLists.txtarchivo como:fuente
CMAKE_VERBOSE_MAKEFILEdebe estar desactivado por defecto y la elección del usuario, si lo necesita, para fines de depuración.O simplemente exporte la variable de entorno VERBOSE en el shell de esta manera:
export VERBOSE=1fuente
Si usa la GUI CMake, cambie a la vista avanzada y luego la opción se llama CMAKE_VERBOSE_MAKEFILE.
fuente
Estaba intentando algo similar para asegurarme de que la
-ggdbbandera estuviera presente.Llame a make en un directorio limpio y seleccione la bandera que está buscando. Buscando en
debuglugar deggdbsimplemente escribir.make VERBOSE=1 | grep debugLa
-ggdbbandera era lo suficientemente oscura como para que solo aparecieran los comandos de compilación.fuente