qmake工程中如何检测Qt是OpenGL还是Angle版本?

How to detect if Qt is OpenGL or Angle version in qmake project?

我想检测 Qt 版本是否在 Windows 上使用 OpenGL 或 Angle,目的是让 nmake install 正常工作。这就是我现在拥有的,来自 .pro 文件的片段:

GLTMP = $$[QT_HOST_PREFIX]
contains(GLTMP, ".*_opengl") {
    message(Detected OpenGL)
} else {
    message(Did not detect OpenGL so assuming Angle)
    # add Angle DLL files to INSTALLS
}

现在只有当 QT_HOST_PREFIX 实际上包含 OpenGL 版本的 _opengl 而不是 Angle 版本时才有效(例如 C:\Qt.2.1\msvc2010_openglC:\Qt.2.1\msvc2010_opengl),但显然这不是很稳健。

有没有不依赖于路径字符串的方法?

期望的结果是让 Qmake 生成正确的 makefile,所以 nmake install 做了正确的事情。

contains(QT_CONFIG, angle) 应该会给你正确的结果。

我知道自问这个问题以来已经有一段时间了,但我在寻找那个东西时偶然发现了这个页面,并认为我可能会帮助其他有同样问题的人:)