qmake高级用法--安装文件
在Unix上也经常使用构建工具来安装应用程序和库;例如,通过调用make install。由于这个原因,qmake有一个安装集的概念,这个对象包含关于安装项目的一部分的说明。例如,一个文档文件集合可以用以下方式描述:
documentation.path = /usr/local/program/doc
documentation.files = docs/*
路径成员通知qmake文件应该安装在/usr/local/program/doc(路径成员)中,文件成员指定应该复制到安装目录的文件。在本例中,将把docs目录中的所有内容复制到/usr/local/program/doc中。
一旦安装集被完整描述,你可以将它添加到安装列表中,如下所示:
INSTALLS += documentation
qmake将确保将指定的文件复制到安装目录中。如果需要对该流程进行更多控制,还可以为该对象的额外成员提供定义。例如,下面一行告诉qmake为这个安装集执行一系列命令:
unix:documentation.extra = create_docs; mv master.doc toc.doc
unix作用域确保这些特定命令只在unix平台上执行。可以使用其他范围规则定义适用于其他平台的命令。
在额外成员中指定的命令将在执行对象的其他成员中的指令之前执行。
如果您将内置安装集附加到安装变量中,但没有指定文件或额外成员,qmake将决定需要为您复制哪些内容。目前,支持target和dlltarget安装集。例如:
target.path = /usr/local/myprogram
INSTALLS += target
在上面的代码行中,qmake知道需要复制什么,并将自动处理安装过程。
英文原文地址:https://doc.qt.io/qt-5/qmake-advanced-usage.html#installing-files