私の qmake ベースのプロジェクトでは、コンパイルの前にいくつかのファイルで 'xxd' を実行したいと考えています。ドキュメントに従って、私のプロファイルの関連部分は次のようになります。
SHADERS = shader/tone.frag \
shader/trans.frag \
shader/hue.frag
# xxd
xxd.output = ${QMAKE_FILE_NAME}.xxd
xxd.commands = xxd -i ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
xxd.depends = SHADERS
xxd.input = $$SHADERS
xxd.variable_out = HEADERS
QMAKE_EXTRA_COMPILERS += xxd
Qmake は文句を言いませんが、xxd もまったく実行しません。前処理したいファイルごとに特別なターゲットを作成する必要がありますか? (結果の *.xxd ファイルは後でコンパイルされず、他の cpp ファイルにのみ含まれます)
編集: smokrisの助けを借りて、これは私のproファイルの部分をどのように修正したかです:
# xxd
xxd.output = ${QMAKE_FILE_NAME}.xxd
xxd.commands = xxd -i ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
xxd.depends = $$SHADERS
xxd.input = SHADERS
xxd.variable_out = HEADERS