例如,我可以定义CORE_DIR = "<please change it with your relative path to the core component>
&#34;在pro
文件中。然后,用户John可以将其在自己的自定义文件(环境)中更改为CORE_DIR = "../../../../john's fancy core"
。 (此自定义文件很小且足够清晰,无法添加到版本控制系统中)。那么,我如何使项目适应用户的环境(具有上述行为)?
这样我就可以避免为每个人强制CORE_DIR
值(以及本地路径)。
答案 0 :(得分:2)
我已经以这样一个很好的方式实现了这个:
# PUT YOUR LOCAL OVERRIDES IN THIS FILE AND DON'T INCLUDE IT IN GIT!
!include( local_overrides.pri ) {
LOCAL_OVERRIDES=false
}else{
LOCAL_OVERRIDES=true
}
稍后,我可以通过检查local_overrides.pri
来检查LOCAL_OVERRIDES
是否确实存在并包含在内:
message("LOCAL_OVERRIDES ENABLED: " $${LOCAL_OVERRIDES})
像魅力一样工作。您还可以进一步实际创建具有合理默认值的文件(如果它丢失)。我还没有在那里冒险。
编辑:我决定举例说明如果文件不存在,您可以如何创建该文件:
!exists( local_overrides.pri ) {
# Please note the single > to truncate existing file if present (should not be necessary but you never know)
system("echo 'MY_VAR1=sane_default' > local_overrides.pri")
# Please note the double >> to append instead of truncate
system("echo 'MY_VAR2=other_sane_default' >> local_overrides.pri")
}
!include( local_overrides.pri ) {
error(ERROR: Could not load local_overrides.pri. Aborting build)
}
注意:这是一个未经测试的例子