使用 qmake 获取日期
Get the date with qmake
由于我使用今天的日期作为我的应用程序版本,所以我想自动填写它。
目前我正在我的项目文件中执行以下操作:
VERSION = 15.4.20
但我想让它自动:
VERSION = $$YEAR.$$MONTH.$$DAY
有什么想法吗?
您可以将 QMAKE_POST_LINK
与类似
的内容一起使用
$$version = date +%y.%m.%d
编辑
在 Mac OS 您可以使用:
VERSION = $$system(date +%y.%m.%d)
调整它以适应您支持的其他人 OS ;)
在我们的例子中,我们只需要 year
版权:
company = My-Company
win32 {
year = $$system("echo %date:~10,4%")
} else {
year = $$system("date +%Y")
}
copyright = "Copyright (C) 2017-$$year, $$company"
此外,我们使用commit-hash decimal作为版本后缀:
win32 {
commit = $$system("FOR /F \"tokens=*\" %H IN ('git rev-parse --short HEAD') DO @SET /A DECIMAL=0x%H")
} else {
commit = $$system("printf '%d' 0x`git rev-parse --short HEAD`")
}
另一种选择是使用未记录的 qmake
变量 _DATE_
,它在所有平台上都可用:
BUILD_YEAR = $$str_member($${_DATE_}, -4, -1)
message("Build year '$${BUILD_YEAR}' out of '$${_DATE_}'")
由于我使用今天的日期作为我的应用程序版本,所以我想自动填写它。
目前我正在我的项目文件中执行以下操作:
VERSION = 15.4.20
但我想让它自动:
VERSION = $$YEAR.$$MONTH.$$DAY
有什么想法吗?
您可以将 QMAKE_POST_LINK
与类似
$$version = date +%y.%m.%d
编辑
在 Mac OS 您可以使用:
VERSION = $$system(date +%y.%m.%d)
调整它以适应您支持的其他人 OS ;)
在我们的例子中,我们只需要 year
版权:
company = My-Company
win32 {
year = $$system("echo %date:~10,4%")
} else {
year = $$system("date +%Y")
}
copyright = "Copyright (C) 2017-$$year, $$company"
此外,我们使用commit-hash decimal作为版本后缀:
win32 {
commit = $$system("FOR /F \"tokens=*\" %H IN ('git rev-parse --short HEAD') DO @SET /A DECIMAL=0x%H")
} else {
commit = $$system("printf '%d' 0x`git rev-parse --short HEAD`")
}
另一种选择是使用未记录的 qmake
变量 _DATE_
,它在所有平台上都可用:
BUILD_YEAR = $$str_member($${_DATE_}, -4, -1)
message("Build year '$${BUILD_YEAR}' out of '$${_DATE_}'")