322

私はGNUMakeでCMakeを使用しており、すべてのコマンド(たとえば、コンパイラーの実行方法、すべてのフラグなど)を正確に確認したいと考えています。

GNU makeには--debugありますが、他のオプションはありますか?CMakeは、デバッグ目的で生成されたMakefileに追加のフラグを提供しますか?

4

6 に答える 6

425

makeを実行するときは、追加VERBOSE=1して完全なコマンド出力を表示します。例えば:

cmake .
make VERBOSE=1

または-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON、生成されたMakefileから永続的な冗長コマンド出力を行うためにcmakeコマンドに追加することもできます。

cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .
make

あまり興味のない出力を減らすために、次のオプションを使用することをお勧めします。このオプションは、 [33%] Building C object ...CMAKE_RULE_MESSAGES=OFFのような行を削除しますが、現在のディレクトリを出力しないようにmakeに指示し、やのような行を除外します。--no-print-directorymake[1]: Entering directorymake[1]: Leaving directory

cmake -DCMAKE_RULE_MESSAGES:BOOL=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .
make --no-print-directory
于 2010-04-20T07:33:01.517 に答える
94

CMakeLists.txtファイルのオプションを次のように設定すると便利です。

set(CMAKE_VERBOSE_MAKEFILE ON)
于 2015-11-16T17:30:56.437 に答える
11

または、次のようにシェルでVERBOSE環境変数をエクスポートするだけです。 export VERBOSE=1

于 2018-06-26T06:35:50.413 に答える
7

CMake GUIを使用する場合は、詳細ビューに切り替えて、オプションをCMAKE_VERBOSE_MAKEFILEと呼びます。

于 2010-04-20T07:43:12.377 に答える
4

-ggdb私は旗が存在することを確認するために同様のことを試みていました。

クリーンなディレクトリでmakeを呼び出し、探しているフラグをgrepします。debug私が書くのではなく探していggdbます。

make VERBOSE=1 | grep debug

フラグは-ggdb十分にあいまいで、コンパイルコマンドのみがポップアップしました。

于 2016-12-06T07:24:59.510 に答える
3

cmake --build . --verbose

LinuxおよびMakefile生成では、これは内部で呼び出される可能性make VERBOSE=1cmake --buildありますが、ビルドシステムに対してより移植性が高くなる可能性があります。たとえば、OS間で作業する場合や、後でNinjaビルドを実行する場合などです。

mkdir build
cd build
cmake ..
cmake --build . --verbose

そのドキュメントは、それが以下と同等であることも示唆していますVERBOSE=1

--verbose、-v

実行するビルドコマンドを含め、詳細出力を有効にします(サポートされている場合)。

このオプションは、 VERBOSE環境変数またはCMAKE_VERBOSE_MAKEFILEキャッシュ変数が設定されている場合は省略できます。

于 2020-09-01T15:06:18.003 に答える