QMake - 如何在每次构建后添加构建后步骤

时间:2014-01-25 21:19:24

标签: c++ bash qmake build-script

遇到一些麻烦 - 我已将以下行添加到qmake中,以便将其复制到Mac上的应用程序包中。

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

.sh文件有时运行,似乎有效(目前它只运行touch geese,在构建目录中创建一个名为geese的文件(非常好!)。

但是,每次构建时它都不会运行,似乎只有在文件被更改时才会运行。真的,我想要一种方法让qmake将我所有游戏的资源复制到每个平台上的正确位置(所以在Windows上构建文件夹,在Mac上使用app包等...)时间我建立。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用POST_TARGETDEPSQMAKE_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

举个例子:

RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout);
int childsNumber = relativeLayout.getChildCount();

(有关类似的讨论,请参阅this question。)