2016-07-04 6 views
1

ビルドシステムでCMakeを使う大規模なオープンソースプロジェクト(Clang)を構築しようとしています。私はWindows上でMinGW64を使用しています。構築するためのCMakeからどのようなオプションがGCCに渡されているのか分かりますか?

コマンドは次のとおりです。私は、ビルドで問題が発生しています

cmake --build . --config Debug --target clang 

ので、私はコマンドはGCCに送信されているかを診断したいと思います。たとえば、-gが設定されているかどうかを確認したいと思います。

どのように私は、GCCのリストは、CMakeのトリガーを構築するコマンドを見ることができますか?

+0

メイクファイルを開いて表示するだけです。 –

+2

@IvanRubinson私のシステム上でLLVM + clang3.8用に生成されたmakefile CMakeは、9400以上の行を持っています。ですから、それを楽しみましょう。 XD –

答えて

4

VERBOSE=1 make | more

例:

[ 14%] Building CXX object public_api/CMakeFiles/secr_api_tests.dir/tests/exception_test.cpp.o 
cd /Users/rhodges/secr/netbeans-secr/public_api && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -I/Users/rhodges/secr/secr/public_api/src -I/Users/rhodges/secr/netbeans-secr/public_api/src -I/Users/rhodges/secr/secr/public_api/tests -I/Users/rhodges/secr/netbeans-secr/public_api/tests -isystem /Users/rhodges/secr/secr/public_api/include -isystem /Users/rhodges/secr/netbeans-secr/public_api/include -isystem /Users/rhodges/secr/netbeans-secr/target_local/include -isystem /Users/rhodges/secr/secr/valuelib/debug/include -isystem /Users/rhodges/secr/netbeans-secr/valuelib/debug/include -isystem /Users/rhodges/secr/secr/valuelib/data/include -isystem /Users/rhodges/secr/netbeans-secr/valuelib/data/include -isystem /Users/rhodges/secr/secr/valuelib/tuple/include -isystem /Users/rhodges/secr/netbeans-secr/valuelib/tuple/include -isystem /Users/rhodges/secr/secr/valuelib/immutable/include -isystem /Users/rhodges/secr/netbeans-secr/valuelib/immutable/include -isystem /Users/rhodges/secr/secr/valuelib/stdext/include -isystem /Users/rhodges/secr/netbeans-secr/valuelib/stdext/include -std=gnu++14 -o CMakeFiles/secr_api_tests.dir/tests/exception_test.cpp.o -c /Users/rhodges/secr/secr/public_api/tests/exception_test.cpp 
... 
+0

正確に性行為ではありません。私は* command-ism *と言うだろう! 'VERBOSE = 1 makeとの違い|少ない?それを差別しないでください。 :-) – skypjack

+2

@skypjackと入力すると 'more'は30歳の習慣です:)' vi 'が最先端のものとみなされたときに私はUNIXを使っていました... –

+0

これ以上の今日はありませんか?私はまだそれを終了しようとしていると私はそこから世界について更新されたことはありません! :-) – skypjack

1

リチャード・ホッジスが言ったように、VERBOSE=1 makeはそれを行うには、メイン便利な方法です。

-DCMAKE_EXPORT_COMPILE_COMMANDS=ONをCMake呼び出しに追加すると、compile_commands.jsonというファイルが生成され、ファイルごとにコンパイルフラグの機械可読データベースが生成されます。

関連する問題