GNU/Linux >> Znalost Linux >  >> Linux

Provádění tiskových příkazů CMake před provedením

Možnost, která platí pro GNU make a funguje s jakýmkoli Makefilem, ať už je vygenerován CMake nebo ne, je použití --trace možnost udělat. Tím se vytisknou příkazy make provádí a stále je provádí.

To platí pro všechny příkazy, nejen pro ty, které VERBOSE=1 nebo V=1 spouští tisk v CMake/automake generovaných makefiles.

A ještě další alternativou v Linuxu je spouštět make pod strace, jako strace -f -e trace=execve make <make options> . Výstup ze strace bude obsahovat každý proces, který se provádí:pomocí make, pomocí skriptu shellu, který se spouští, atd.

Můžete například zjistit, že makefile vygenerovaný CMake spouští /usr/bin/cmake -E __run_co_compile <lots of options ...> a stále se divím, jaká jsou přesná vyvolání kompilátoru, že se to zase spustí. Můžete to získat pomocí metody strace.


Jsem si docela jistý, že to bude fungovat:

make VERBOSE=1

Také byste měli být schopni přidat toto do souboru CMakeLists.txt, abyste to natrvalo nastavili:

set(CMAKE_VERBOSE_MAKEFILE on)

Toto je popsáno v CMake FAQ.


Pro soubory Makefile generované automake zkuste:

make V=1

Linux
  1. Je možné vysledovat Builtin Commands To Bash?

  2. Provedení vzdáleného příkazu při připojení Ssh, před přihlášením?

  3. Provádění zřetězených příkazů paralelně?

  1. Jak číst celý skript Shell před jeho spuštěním?

  2. Cheat pro příkazy Linuxu

  3. Linux Základy příkazového řádku – Spouštění příkazů z příkazového řádku

  1. Méně tisku do Stdout, pokud lze celý soubor zobrazit na jedné obrazovce?

  2. Jaký je rozdíl mezi &(ampersand) a &&(dvojitý ampersand) při provádění simultánních příkazů v Linuxu

  3. Bash:provádění příkazů z chrootu a přepnutí uživatele