qmake语言描述--替换功能
qmake提供了一组内置函数,允许处理变量的内容。这些函数处理提供给它们的参数,结果返回一个值或一列值。要给一个变量赋值结果,在这种类型的函数中使用$$操作符,就像将一个变量的内容赋值给另一个变量一样:
HEADERS = model.h
HEADERS += $$OTHER_HEADERS
HEADERS = $$unique(HEADERS)
此类函数应在赋值的右侧使用(即,作为操作数)。
您可以定义自己的函数来处理变量的内容,如下所示:
defineReplace(functionName){
#function code
}
下面的示例函数将变量名作为唯一参数,使用内置的eval()函数从变量中提取值列表,并编译文件列表:
defineReplace(headersAndSources) {
variable = $$1
names = $$eval($$variable)
headers =
sources =
for(name, names) {
header = $${name}.h
exists($$header) {
headers += $$header
}
source = $${name}.cpp
exists($$source) {
sources += $$source
}
}
return($$headers $$sources)
}
英文原文地址:https://doc.qt.io/qt-5/qmake-language.html#replace-functions