web-dev-qa-db-ja.com

コマンドラインからDoxygenパラメーターを指定する

さて、Doxygenを使用したプロジェクトのドキュメントを自動的に生成するスクリプトを作成しています。これは素晴らしいツールのようです。
私には不明確ですが、ユーザーがコマンド以外に設定することにより、プロジェクト名、プロジェクトの説明などのパラメーターを直接指定できるかどうかです。

doxygen -g "parameter modification here"
doxygen Doxyfile

どんなヒントでも大歓迎です!

30
Potney Switters

FAQの質問17の回答をご覧ください: http://www.doxygen.org/faq.html 、便宜上以下に繰り返します:

コマンドラインからdoxygenを構成できますか?

コマンドラインオプション経由ではありませんが、doxygenはstdinから読み取ることができるので、パイプで物事を通過できます。コマンドラインから構成ファイルのオプションをオーバーライドする方法の例を次に示します(UNIX環境を想定)。

( cat Doxyfile ; echo "PROJECT_NUMBER=1.0" ) | doxygen -

Windowsの場合、次のように同じことを行います。

( type Doxyfile & echo PROJECT_NUMBER=1.0 ) | doxygen.exe -

同じ名前のオプションが複数指定されている場合、doxygenは最後のオプションを使用します。既存のオプションに追加するには、+ =演算子を使用できます。

47
doxygen

私の知る限りこれは不可能です:doxygenビルドは 設定ファイル またはGUIで設定されます(コマンドラインオプション名を覚えるよりもはるかに簡単です)。コマンドラインでdoxygen --helpと入力すると、 doxygen usage のドキュメントが表示され、すべてのコマンドラインオプションで、読み取る構成ファイルを設定することをお勧めします(ユーザーがレイアウトファイルとお気に入り)。

コマンドラインから構成オプションを変更する1つの方法は、(テストされていない)のようなものを使用して構成ファイルにオプションを追加することです。

echo "INPUT = some file" >> Doxyfile

これにより、DoxyfileINPUT = some fileが追加され、INPUTの以前の値は無視されます。 INPUTにアイテムを追加したい場合は、

echo "INPUT += some file" >> Doxyfile

+=に注目してください。これは、ファイルの前半で設定されたINPUT値を尊重します。

構成ファイルに追加するのではなく、常にsedを使用してオプションを検索および置換できます。

6
Chris

(これは 受け入れられた回答 の代替です-=上記の可能性が高いです。)

私の好ましい解決策は、設定ファイルで環境変数を使用することです。例として「QUIET」を取り上げましょう:構成ファイルで私は置き換えます

QUIET                  = NO

QUIET                  = $(DOXYGEN_QUIET)

次に、次のようにDoxygenを呼び出します

DOXYGEN_QUIET=YES doxygen configfile

または

env DOXYGEN_QUIET=YES doxygen configfile

(Bash)スクリプト内で使用する場合。もちろん、変数DOXYGEN_QUIETをエクスポートすることもできるため、実行ごとに変数を入力する必要はありません。

PS!いくつかのDoxygenジョブを実行するBashスクリプトがあり、標準の-qオプションを使用してDOXYGEN_QUIETを設定することにより、ジョブを静かに実行します。また、PROJECT_NAMEを環境変数で同じトリックを使用して設定しました。

5
hansfn