qmake 子目录可选 target/sub 项目
qmake subdirs optional target/sub project
我想知道 Qt 构建工具 qmake 中是否有可选目标或子项目之类的东西。
项目
在我的测试示例中,我有一个子目录项目,其中包含另外两个项目,一个共享库和一个基本应用程序。该应用程序取决于运行良好的库。此外,我还有一个额外的编译器(调用 lrelease)和一个额外的目标(调用 lupdate),这也很有魅力(共享库提供它们作为多个项目的 pri 文件)。
在发布模式下完成构建后,调用 Windows 部署工具(即 windeployqt.exe)并使用所有必需的共享库部署目标和插件到我的部署目录。
我想添加的最后一个组件是使用 Qt Installer Framework 创建安装程序,实际上只要找到可执行文件就可以轻松完成。因此,我想创建另一个包含所有安装程序内容的子项目,并提供 qmake 创建一个的步骤。但是项目不应该一直构建,而应该只在我想要的时候构建,最好是通过 Qt Creator.
的创建菜单
问题
有什么方法可以使 qmake subdirs 子项目完全可选,这样它就不会使用默认的 build all 来构建吗?
您可以对其进行检查:
enableOptional {
message(optional enabled)
SUBDIRS += YourSubDir
}
然后用
调用qmake
qmake CONFIG+=enableOptional yourProject.pro
qmake 文档指出应该使用测试函数 requires(condition) 来跳过构建整个项目。使用这个可能会添加一个新的构建配置,例如 bundle,它定义了一个配置变量,正如@Jeffrey 在他的回答中指出的那样。
我设法让它与以下 qmake 项目定义一起工作:
requires(BUNDLE_INSTALLER)
TEMPLATE = aux
QMAKE_POST_LINK = ...
定义变量后,通过新的构建配置以正确使用 Qt Creator(示例),将执行 QMAKE_POST_LINK 下列出的步骤。所以我可以捆绑安装程序,如果我愿意的话。
我想知道 Qt 构建工具 qmake 中是否有可选目标或子项目之类的东西。
项目
在我的测试示例中,我有一个子目录项目,其中包含另外两个项目,一个共享库和一个基本应用程序。该应用程序取决于运行良好的库。此外,我还有一个额外的编译器(调用 lrelease)和一个额外的目标(调用 lupdate),这也很有魅力(共享库提供它们作为多个项目的 pri 文件)。
在发布模式下完成构建后,调用 Windows 部署工具(即 windeployqt.exe)并使用所有必需的共享库部署目标和插件到我的部署目录。
我想添加的最后一个组件是使用 Qt Installer Framework 创建安装程序,实际上只要找到可执行文件就可以轻松完成。因此,我想创建另一个包含所有安装程序内容的子项目,并提供 qmake 创建一个的步骤。但是项目不应该一直构建,而应该只在我想要的时候构建,最好是通过 Qt Creator.
的创建菜单问题
有什么方法可以使 qmake subdirs 子项目完全可选,这样它就不会使用默认的 build all 来构建吗?
您可以对其进行检查:
enableOptional {
message(optional enabled)
SUBDIRS += YourSubDir
}
然后用
调用qmake
qmake CONFIG+=enableOptional yourProject.pro
qmake 文档指出应该使用测试函数 requires(condition) 来跳过构建整个项目。使用这个可能会添加一个新的构建配置,例如 bundle,它定义了一个配置变量,正如@Jeffrey 在他的回答中指出的那样。
我设法让它与以下 qmake 项目定义一起工作:
requires(BUNDLE_INSTALLER)
TEMPLATE = aux
QMAKE_POST_LINK = ...
定义变量后,通过新的构建配置以正确使用 Qt Creator(示例),将执行 QMAKE_POST_LINK 下列出的步骤。所以我可以捆绑安装程序,如果我愿意的话。