Understand 4.0 マイナーバージョンアップ版では、CMake (コンパイラに依存しないビルド自動化ツール) で生成されるコンパイル コマンド データベース ファイル (compile_commands.json) をインポートし、 Understand プロジェクトを作成することができるようになりました。
Understand プロジェクト設定に、ファイルリスト、インクルードパス、マクロ定義、システムルートなどの設定がインポートされます。
compile_commands.json が更新されると、Understand プロジェクトも自動で更新できます。
プロジェクト作成方法
- コンパイル コマンド データベース ファイル (compile_commands.json) を作成します。
Unix Makefile や Ninja で、CMAKE_EXPORT_COMPILE_COMMANDS オプションを有効にして cmake を実行し、
JSON 形式の compile_commands.json を生成します。- 対応環境:Windows, Linux, Mac
- Understand バージョン:Understand 4.0 (Build 896) 以降
- CMake バージョン:CMake 2.8.5 以降
- 実行コマンド
例$ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .
- Understandの[新規プロジェクトウィザード]で言語[C/C++](Fuzzy/Strictのどちらも可)を選択し、[次へ]ボタンをクリックし、
[ファイルと設定のインポート]画面で、CMake コンパイル コマンド データベース ファイルのインポートを選択します。[次へ]ボタンをクリックします。
- [CMake ファイル]画面で、[追加]ボタンをクリックします。
- [コンパイル コマンド データベースを開く]ダイアログで、compile_commands.json を選択し、[開く]ボタンをクリックします。
- [ソースファイル]画面に、コンパイル コマンド データベース ファイルのファイルリストが表示されます。[次へ]ボタンをクリックします。
- [プロジェクト]-[すべてのファイルの解析]を実行、または、und コマンドで解析を実行します。
例)
$ und create -languages C++ add compile_commands.json settings -c++AddFoundFilesToProject on analyze myproject.udb Rescan Files Added: 1 Files Removed: 0 C++ (Strict) Analyze /home/tmxse/CMake/sample/main.cpp Analyze Completed (Errors:0 Warnings:0) |
- インクルードパス・マクロがプロジェクトの設定に反映され、オーバーライド設定で確認できます。
- ソースエディターは、マクロ切り替えにより色分け表示されます。
- Control Flow グラフも、マクロ切り替えが反映され表示されます。
CMake は、様々なオペレーティングシステムで動作させることができるため、CMake を使ったビルドをご利用の場合には、CMake プロジェクトのインポートを是非、お試しください。