在shell脚本中安全地定义Qt常量

时间:2010-12-22 07:55:29

标签: qt build-automation

我有6个版本的应用程序,然后我每晚都会构建。 我的.pro文件看起来像这样:

DEFINES += \
TEN_INCH \
#TG_MODULE \
NEW_DIALOG

因此,为了自动构建不同的版本,我的shell脚本编辑了.pro文件,感谢sed。这很糟糕,因为定义必须在它们自己的行上,而Qt Creator有时会将它们全部放在同一行上(例如,在添加文件时)。结果是我的构建似乎有效,但事实并非如此。

那么,有更好的解决方案吗?将定义传递给qmake

之类的东西

2 个答案:

答案 0 :(得分:4)

不要编辑.pro文件。相反,请使用.pro文件范围:

build_one {
  DEFINES += whatever
}
build_two {
  DEFINES += something_else
}

然后从qmake命令行激活它们:

qmake CONFIG+=build_one && make clean && make

答案 1 :(得分:0)

嗯,你为什么不重写你的脚本所以它会形成整个DEFINES指令呢?

即。使用sed找到现有的并用新形成的整体替换它?在这种情况下,无论是在一条线上还是跨越几条线都没关系。