GNU/Linux >> Linux の 問題 >  >> Linux

実行前に CMake 印刷コマンドを作成する

GNU make に適用され、CMake によって生成されたかどうかにかかわらず、任意の Makefile で動作するオプションは、--trace を使用することです。 作るオプション。これにより、コマンド make が出力されます

これは VERBOSE=1 だけでなく、すべてのコマンドに適用されます。 または V=1 CMake/automake で生成された makefile の出力をトリガーします。

Linux でのさらに別の方法は、strace -f -e trace=execve make <make options> のように strace の下で make を実行することです。 . strace からの出力には every が含まれます 実行されるプロセス:make によって、make が実行したシェル スクリプトによってなど。

たとえば、CMake で生成された makefile が /usr/bin/cmake -E __run_co_compile <lots of options ...> を実行することがわかる場合があります。 そして、これが次に実行される正確なコンパイラ呼び出しは何なのか、まだ疑問に思っています。 strace メソッドで取得できます。


これでうまくいくと確信しています:

make VERBOSE=1

これを CMakeLists.txt に追加して、永続的に設定することもできます:

set(CMAKE_VERBOSE_MAKEFILE on)

これは CMake FAQ でカバーされています。


automake で生成された Makefile については、次を試してください:

make V=1

Linux
  1. ファイル全体を1つの画面に表示できる場合、Stdoutへの印刷を減らすことができますか?

  2. ログイン前にSsh接続でリモートコマンドを実行しますか?

  3. パイプコマンドを並行して実行しますか?

  1. 実行する前にシェルスクリプト全体を読む方法は?

  2. Linuxコマンドのチートシート

  3. 一致する各行の上下の行をgrepで印刷するにはどうすればよいですか?

  1. 組み込みコマンドをbashするためにstraceすることは可能ですか?

  2. bash で以前のコマンドの出力を使用する

  3. Bash:chroot 内からコマンドを実行してユーザーを切り替える