8

少し問題があります-Macのアプリバンドルにファイルをコピーできるようにするために、qmakeに次の行を追加しました。

mac {
    QMAKE_POST_LINK = $$PWD/package_mac.sh
}

.sh ファイルは時々実行され、機能しているようです (現時点では、ビルド ディレクトリにtouch geese名前の付いたファイルを作成するだけですgeese(すばらしい!))。

しかし、ビルドするたびに実行されるわけではなく、ファイルが変更されたときだけのようです。本当に、ビルドするたびに、ゲームのすべてのリソースを各プラットフォームの正しい場所に qmake でコピーする方法が必要です (Windows のビルド フォルダー、Mac のアプリ パッケージなど)

何か案は?

4

1 に答える 1

1

POST_TARGETDEPS(with )を使ってみましたQMAKE_EXTRA_TARGETSか? このアプローチの欠点は、ある種のダミー ファイルを作成する必要があることです (私の知る限り.PHONYでは でサポートされていないためqmake)。これはおそらくclean後で行う必要があります。

あなたの例を取る:

mac {
    package-script = $$PWD/package_mac.sh
}

package-target.target = $$PWD/package.tmp
package-target.depends = FORCE
package-target.commands = $$package-script

(同様の議論については、この質問を参照してください。)

于 2015-08-22T17:39:53.623 に答える