GNU/Linux >> Tutoriales Linux >  >> Linux

Hacer comandos de impresión de CMake antes de ejecutar

Una opción, que se aplica a GNU make y funciona con cualquier Makefile, ya sea generado por CMake o no, es usar el --trace opción de hacer. Esto imprimirá los comandos make se está ejecutando y todavía ejecutarlos.

Esto se aplica a todos los comandos, no solo a aquellos que VERBOSE=1 o V=1 desencadena la impresión de archivos MAKE generados en CMake/automake.

Y otra alternativa más en Linux es ejecutar make bajo strace, como strace -f -e trace=execve make <make options> . La salida de strace incluirá cada proceso que se ejecuta:por make, por un script de shell que ejecutó make, etc.

Por ejemplo, puede encontrar que el archivo MAKE generado por CMake ejecuta /usr/bin/cmake -E __run_co_compile <lots of options ...> y aún me pregunto cuáles son las invocaciones exactas del compilador que a su vez se ejecutarán. Puedes obtener eso con el método strace.


Estoy bastante seguro de que esto funcionará:

make VERBOSE=1

También debería poder agregar esto a su CMakeLists.txt para configurar permanentemente eso:

set(CMAKE_VERBOSE_MAKEFILE on)

Esto está cubierto en las preguntas frecuentes de CMake.


Para Makefiles generados por automake, intente:

make V=1

Linux
  1. ¿Imprimir menos en la salida estándar si se puede mostrar un archivo completo en una pantalla?

  2. ¿Ejecutar un comando remoto en la conexión Ssh, antes de iniciar sesión?

  3. ¿Ejecutar comandos canalizados en paralelo?

  4. ¿Cómo leer todo el script de Shell antes de ejecutarlo?

  5. Cómo usar los comandos strace y ltrace en Linux

12 divertidos comandos de Linux que pueden hacerte reír

Cómo saber qué hará exactamente un comando o programa antes de ejecutarlo

Genere dos paquetes diferentes usando CPack en cmake:Linux

¿Cómo hacer que los comandos en Mathematica 8 usen todos los núcleos?

¿Ejecutar comandos detalladamente los hace más lentos?

bash comandos que no caben en una página - hacer que la salida sea desplazable