CMake 编译配置
在Projects >Build & Run >Build >Build Settings 中指定所选套件的构建设置。
在Qt Creator 中配置大中型 CMake 项目是一项挑战,因为您需要向 CMake 传递大量变量才能正确配置项目。为了方便起见,Qt Creator 会根据套件偏好为您创建初始配置,并在Initial Configuration 项目的Build Settings 中显示。或者,你也可以使用 CMake 预置来配置 CMake。
Configure 字段显示Qt Creator 使用Build directory 和Build type 字段的值构建的有效 CMake 调用。
您可以在Additional CMake options 中指定其他 CMake 选项,如--find-debug
、--trace-expand
或--warn-uninitialized
。有关选项的更多信息,请选择字段名称中的链接,或参阅CMake: cmake(1)。
选择Kit Configuration 可编辑项目所选构建和运行工具包的 CMake 设置。
你可以使用CMake 预设文件来指定常用的配置、构建和测试选项,并与他人共享。
初始配置
Initial Configuration 列出 首次配置 CMake 项目时使用的变量。 将初始配置变量列表作为Qt Creator Qt Creator CMakeLists.txt.user文件保存在项目的源代码目录中。
当前配置
Current Configuration 列出了 目录中 JSON 导出中的 CMake 变量。它以斜体显示来自初始配置的变量,红色显示不匹配的值。.cmake/api/v1/reply
cmake-file-api
选择Run CMake 按钮后,您可以查看并更改Qt Creator 传递给 CMake 的变量的实际值。Key 列列出变量名,Value 列列出变量的当前值。有关变量的更多信息,请在上下文菜单中选择Help 或查看CMake: cmake-variables(7)。有关 Qt 特定变量的更多信息,请参阅CMake Variable Reference。
多配置支持
Qt Creator CMake 支持多配置生成器,如 Xcode、Visual Studio 和 Ninja Multi-Config。这意味着您只需配置 CMake 一次,只有一个构建目录,并能更快地在构建类型间切换。
不过,这也意味着Qt Creator 不能再简单地解析第一个 CMake 文件-api JSON 导出。因此,Build type 字段的值必须与单一配置生成器(Ninja、Makefile)的CMAKE_BUILD_TYPE
变量的值相匹配,以确定使用哪个生成器。
使用 Qt 6 for iOS 开发时,只支持 Xcode 生成器。
修改变量值
您可以在Initial Configuration 或Current Configuration 中查看和编辑传递给 CMake 的变量的实际值。
您可以选择多个变量并对其进行操作。要清除选择,请单击视图中的任意位置。
要批量编辑变量值,请选择Batch Edit 。
要使用当前配置进行编译,请选择Run CMake 。在构建过程中,按钮文本会更改为Stop CMake 。选择该按钮可取消当前构建。
添加变量
要添加变量,请选择Add ,然后选择要添加的变量类型:Boolean,String,Directory, 或File 。
要更改所选变量的类型,请右键单击Key 列中的变量名,然后在上下文菜单中选择Force to bool,Force to file,Force to directory, 或Force to string 。
要将所选变量的名称或值复制到剪贴板,请在上下文菜单中选择Copy 。
更改变量值
要更改变量值,请双击变量或选中变量,然后选择Edit 。如果初始配置、当前配置和工具包配置不同步,请在Initial Configuration 或Current Configuration 的上下文菜单中选择Apply Kit Value 或Apply Initial Configuration Value 。
要重置所有更改,请选择Reset 。
您更改的变量值会通过-D<option>=<value>
传递给 CMake,CMake 会将这些选项保存在 CMakeCache.txt 文件中。这意味着如果你删除了编译目录,所有不属于 CMake 初始配置的自定义变量也会被删除。
要使用更改后的变量值重新配置项目,请选择Build >Clear CMake Configuration ,这将删除 CMakeCache.txt 文件。这样就能进行全面重建。
删除变量
要删除选定的变量,请选择Unset 。要撤销删除,请选择Set 。
查看高级变量
要查看所有变量,请选择Advanced 复选框。
要默认查看所有变量,请转到首选项>CMake >General ,然后选择Show advanced options by default 。
使用初始变量重新配置
要将 CMake 变量重置为初始变量,请在Initial Configuration 中选择Re-configure with Initial Variables 。Qt Creator 删除当前 CMake 配置并运行 CMake。初始配置值保存在 CMakeLists.txt.user 文件中,因此删除构建目录不会删除初始配置。
要在Qt Creator 重置更改前进行询问,请转到首选项>CMake >General 并选择Ask before re-configuring with initial parameters 。
查看 CMake 输出
在Projects 模式下,CMake 输出会显示在Build Settings 和Run Settings 面板旁边。
要清除 CMake 输出,请选择 (Clear)。
您可以在Filter 字段中输入字符串来过滤输出。要指定过滤选项,请选择 。您可以使用正则表达式或大小写敏感性过滤输出。选择Show Non-matching Lines 可隐藏符合筛选条件的行。还可以设置要显示的前后行数。
选择Ctrl+F在输出中搜索字符串。
要增大或减小输出文本的大小,请选择 (Zoom In) 或Ctrl++或
(Zoom Out) 或Ctrl+-。
要隐藏输出,请选择}(Hide Right Sidebar) 或Alt+Shift+0。
CLICOLOR_FORCE 环境变量
Qt Creator 将环境变量 设为CLICOLOR_FORCE
1以显示 CMake 的 ANSI 颜色输出。这可能会影响进程输出。
如果输出看起来不正确或与早期Qt Creator 版本不同,请尝试在Use Build Environment 中将CLICOLOR_FORCE
设置为0。
在 Windows 上使用结点
要解决 Windows 下路径过长的问题,可为源代码目录和编译目录创建并使用交界点。在交界点,一个目录作为计算机上另一个目录的别名。
要在 CMake 配置、编译和安装操作中使用交界点,请访问首选项>CMake >General ,然后选择Use junctions for CMake configuration and build operations 。
Qt Creator 在 中存储连接点。要使用其他路径,请将其设置为 环境变量的值。C:\ProgramData\QtCreator\Links
QTC_CMAKE_JUNCTIONS_DIR
设置QTC_CMAKE_JUNCTIONS_HASH_LENGTH
环境变量以缩短 MD5 哈希密钥长度,默认值为 32。
CMake 生成步骤
Qt Creator 通过运行 来构建 CMake 项目,然后运行项目配置中指定的 CMake 生成器:例如, 、 或 。CMake 生成器为 生成项目文件。还支持多配置生成器。cmake . --build
make
mingw32-make
nmake
ninja
Qt Creator
您可以在Build Steps 中为 CMake 和生成器添加参数,并为构建命令添加目标。
注意: 虽然其他 CMake 生成器与 Qt 安装在一起,但你通常需要自己安装 Ninja。
要在交叉编译时将应用程序安装到暂存目录,请选择Stage for installation 复选框,并在Staging directory 字段中指定目录路径。打包工具会根据目录内容构建软件包。
将 Ninja 用作 CMake 生成器
要将Ninja与 CMake 结合使用,必须安装Ninja,并在构建和运行工具包中将其选为 CMake 生成器:
- 安装 Ninja。
- 将 Ninja 可执行文件的路径添加到系统变量 PATH 的值中。
- 在Projects >Build & Run >Build >Build Settings 中,选择Kit Configuration 。
- 在CMake generator 字段旁边选择Change ,打开CMake Generator 对话框。
- 在Generator 中,选择Ninja 。
- 选择OK 保存更改并关闭对话框。
- 选择Close 关闭Kit CMake Configuration 对话框,返回Build Settings 。
注意: 为确保在更改后首次构建项目时不会受到旧构建工件的影响,请选择Build >Rebuild Project 。这将清理构建目录并执行新的构建。
与软件包管理器一起使用 CMake
自动设置Conan或vcpkg软件包管理器以便与 CMake 配合使用:
- 创建 CMake 脚本文件,从项目源代码目录中的
conanfile.txt
、conanfile.py
或vcpkg.json
文件安装依赖项。 - 将脚本的路径设置为
CMAKE_PROJECT_INCLUDE_BEFORE
变量的值。 - 转到首选项>CMake >General ,然后选择Package manager auto setup 。
QTC_RUN 环境变量
Qt Creator 在执行 进程时,将环境变量 设置为 。cmake
QTC_RUN
1
这样,CMake 代码就能检测到它是否是从Qt Creator 执行的。
CMake 清理步骤
使用 CMake 进行编译时,您可以在Clean Steps 中添加参数传递给 CMake 和生成器,以及清理命令的目标。
构建错误和警告会被解析并显示在Issues 中。
另请参阅 为项目激活工具包、添加自定义输出解析器、为构建配置项目、为运行配置项目、如何:使用 CMake 构建、打开项目和CMake。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.