CMake 变量参考

模块变量

Qt 模块的加载采用 find_package 设置各种变量。

注意: 您很少需要直接访问这些变量。像链接到模块的常见任务,应透过每个模块定义的库目标来完成。

例如, find_package(Qt5 COMPONENTS Widgets) ,当成功时,使以下变量变得可用:

变量 描述
Qt5Widgets_COMPILE_DEFINITIONS 要使用的编译定义列表,当针对库构建时。
Qt5Widgets_DEFINITIONS 要使用的定义列表,当针对库构建时。
Qt5Widgets_EXECUTABLE_COMPILE_FLAGS 要使用的标志字符串,当针对库构建可执行文件时。
Qt5Widgets_FOUND 描述是否成功找到模块的布尔。
Qt5Widgets_INCLUDE_DIRS 要使用的 include (包括) 目录列表,当针对库构建时。
Qt5Widgets_LIBRARIES 模块导入目标的名称: Qt5::Widgets
Qt5Widgets_PRIVATE_INCLUDE_DIRS 要使用的私有 include (包括) 目录列表,当针对库构建并使用私有 Qt API 时。
Qt5Widgets_VERSION_STRING 包含模块版本的字符串。

对于找到的所有包采用 find_package ,这些变量的等价物是可用的;它们区分大小写。

安装变量

此外,还有一些变量与特定包无关,但与 Qt 安装本身相关。

变量 描述
QT_DEFAULT_MAJOR_VERSION 控制 Qt 版本的整数, qt_ 命令被转发给 Qt 5 和 Qt 6 混合工程。需要将其设为 5 or 6 先前分别 find_package() 调用。

若设为 5 ,命令开头采用 qt_ 将调用的搭档的开头采用 qt5_ 。若设为 6 ,它们将调用的搭档的开头采用 qt6_ .

若未设置,首 find_package 调用定义的默认版本。该功能在 Qt 5.15 添加。

QT_LIBINFIX 保持库名称所用中缀的字符串,当有配置 Qt 采用 -libinfix .
QT_NO_CREATE_VERSIONLESS_FUNCTIONS 从 Qt 5.15 起,模块定义的命令不仅开头采用 qt5_ ,且还采用 qt_ 。您可以设置 QT_NO_CREATE_VERSIONLESS_FUNCTIONS before find_package 以阻止这。
QT_NO_CREATE_VERSIONLESS_TARGETS 从 Qt 5.15 起,模块定义的目录不仅开头采用 Qt5:: ,且还采用 Qt:: 。您可以设置 QT_NO_CREATE_VERSIONLESS_TARGETS before find_package 以阻止这。
QT_VISIBILITY_AVAILABLE 在 Unix,布尔描述 Qt 库和插件是否被编译采用 -fvisibility=hidden 。这意味着仅选中符号被导出。