Doxygenを使ってみた(1)
コードの内容をデータベースに出力してみる

どもです。

つい最近、業務で久しぶりに「Doxygen」を使ってみました。その際に、「SQLite3」のデータベースに情報を出力できることを見つけました。最近、「ソフトウェアでの読み込みが容易な形式でソフトウェアの構造を解析した結果を出力してくれるツールはないか」と探していたので、この「Doxygen + SQLite3」が使用できるのではないかと思い、試してみました。

1. 環境

本エントリの実行環境です。

開発/実行環境
項目 内容
OS Windows10 Pro(22H2)
CPU i7-8700
メモリ 16GB
ツール Doxygen GUI
(Doxygen 1.10.0)

今回は、コマンドラインベース/テキストベースの設定ではなく、GUIでのDoxygenの設定から実行まで行ってみます。

2. 設定

まず、Doxygenでの構造解析結果をSQLite3のデータベースに出力するための設定を行います。

2.1. Wizardタグ

2.1.1. Project

基本的な項目ですが、入力となるソースコード、及びSQLite3のデータベースファイルの出力先ディレクトリのパスを設定します。



2.1.2. Mode

SQLite3のデータベースに解析結果を出力するための設定としては直接関係ないですが、対象言語を設定します。今回は「お試し」なので、「C++」(Optimized for C++ output)を選択します。



2.1.3. Ouptut

今回は、SQLite3データベース以外の出力以外は不要なので、全てのチェックを外します。



2.2. Expertタグ

2.2.1. Project

ここで設定するのは、必須ではないのですが、出力ファイルの言語設定を行います。当然、「Japanese」(日本語)に設定します。



2.2.2. Build

ここでは、「EXTRACT_ALL」の設定を有効にします。



2.2.3. Source Browser

ここでは、ソースコード内の変数や関数の参照関係の出力についての設定を行います。以下の項目のチェックを「ON」にします。

  • REFERENCED_BY_RELATION
  • REFERENCES_RELATION



この項目のチェックを「ON」にしなかった場合、関数や変数の参照関係(呼び出し/被呼び出し)が出力されません。

2.2.4. HTML

必須ではないのですが、今回はHTML出力は不要なので、「GENERATE_HTML」のチェックは外します。



2.2.5. LaTeX

これも必須ではないのですが、LaTex出力は不要なので、「GENERATE_LATEX」のチェックは外します。



2.2.6. Sqlite3

ここでの設定が、今回のエントリの「肝」です。SQLite3のデータベースファイルを出力するために、「GENERATE_SQLITE3」のチェックを「ON」にします。それ以外の項目は、デフォルト設定のままとします。



以上で、Doxygenの設定は完了です。

3. 実行

設定が完了したので、Doxygenを実行します。「Run」タブの「Run doxygen」ボタンをクリックします。



実行が完了すると、Outputで設定したディレクトリにSQLite3のデータベースファイルが出力されます。



4. まとめ

今回は、Doxygenの解析結果をSQLite3のデーターベースに出力してみました。長くなってきてしまったので、データベースファイルを出力するところまででひとまず終わりとします。生成されたデータベースファイルの中は、次回のエントリで確認します。

ではっ!