Edited at

Qtプロジェクトファイルの変数の値をコマンドラインで取得する

何らかの解析でQtプロジェクトファイルの変数の値を知りたいとします。

しかし、Qtプロジェクトファイルはそれなりに複雑であり、正規表現などで変数の値を取り出すのは難しいです。

(書式が整っていれば可能な場合もある)

qmakeにプロジェクトファイルを実行させ、実際に変数に入っている値を出力させましょう。

このようなプロジェクトファイルを作ります。


inspect.pro

TEMPLATE = aux

CONFIG(release, debug|release):log($$fromfile($$TARGET_PRO, $$VARIABLE))

そして、qmakeのコマンドラインで対象のプロジェクトファイルと変数名を渡すと、変数の値が出力されます。

qmake "TARGET_PRO=path/to/target/target.pro" "VARIABLE=TARGET" -nodepend -nomoc -nocache



target.pro

FOO=bar


> qmake inspect.pro "TARGET_PRO=target.pro" "VARIABLE=FOO" -nodepend -nomoc -nocache

bar