GNU/Linux >> Belajar Linux >  >> Linux

Membuat perintah cetak CMake sebelum mengeksekusi

Opsi, yang berlaku untuk pembuatan GNU dan bekerja dengan Makefile apa pun, baik yang dihasilkan oleh CMake atau tidak, adalah menggunakan --trace pilihan untuk membuat. Ini akan mencetak perintah make sedang mengeksekusi dan masih mengeksekusinya.

Ini berlaku untuk semua perintah, bukan hanya yang VERBOSE=1 atau V=1 memicu pencetakan di CMake/automake makefiles yang dihasilkan.

Dan alternatif lain di Linux adalah menjalankan make under strace, sebagai strace -f -e trace=execve make <make options> . Keluaran dari strace akan menyertakan setiap proses yang dijalankan:dengan make, dengan skrip shell yang menjalankan, dll.

Misalnya, Anda mungkin menemukan bahwa makefile yang dihasilkan CMake mengeksekusi /usr/bin/cmake -E __run_co_compile <lots of options ...> dan masih bertanya-tanya apa doa kompiler yang tepat sehingga ini pada gilirannya akan berjalan. Anda bisa mendapatkannya dengan metode strace.


Saya cukup yakin ini akan berhasil:

make VERBOSE=1

Anda juga harus dapat menambahkan ini ke CMakeLists.txt untuk menyetelnya secara permanen:

set(CMAKE_VERBOSE_MAKEFILE on)

Ini tercakup dalam FAQ CMake.


Untuk Makefile yang dibuat secara otomatis, coba:

make V=1

Linux
  1. Menjalankan Perintah Jarak Jauh Pada Koneksi Ssh, Sebelum Masuk?

  2. Menjalankan Perintah Pipa Secara Paralel?

  3. Lembar Cheat Perintah Linux

  1. Cara menggunakan perintah strace dan ltrace di Linux

  2. Dasar-dasar baris Perintah Linux – Menjalankan perintah dari baris perintah

  3. Apa perbedaan antara &(ampersand) dan &&(double ampersand) saat menjalankan perintah simultan di Linux

  1. Apakah Mungkin Untuk Menelusuri Perintah Bawaan ke Bash?

  2. Bash:mengeksekusi perintah dari dalam chroot dan beralih pengguna

  3. perintah bash yang tidak muat di satu halaman - membuat keluaran dapat digulir