CMakeLists.txt
CMakeLists.txt 文件包含一组描述项目源文件和目标(可执行文件、库或两者)的指令和说明。
当您 创建一个新项目时,CLion 会自动生成 CMakeLists.txt 文件并将其放置在项目根目录中。 要 打开一个项目,您可以将 CLion 指向顶层 CMakeLists.txt 并选择 作为项目打开。
以下示例显示了一个简单的 "Hello, World" 项目的 CMakeLists.txt 文件:
您可以直接在编辑器中编辑 CMakeLists.txt 文件。 编辑后,请确保 重新加载项目。 自动重新加载功能默认是禁用的,您可以通过在 中勾选 编辑时自动重新加载 CMake 项目 复选框来启用它。
子目录 CMakeLists.txt 文件
对于结构复杂的项目,您可以创建子目录 CMakeList.txt 文件来描述子项目的构建、内容和目标规则。
子目录 CMakeLists.txt 添加的目标类型可能会根据模块的角色而有所不同。

CMakeLists.txt 文件模板
当您通过新建项目向导创建 CMake 或基于 CMake 的(CUDA、 Qt )项目时,CLion 会根据项目类型和设置使用不同的模板生成 CMakeLists.txt 。 您可以在 的 其他 选项卡中微调这些模板:

在编辑模板文本时,您可以使用常见的 预定义变量以及以下 CMake 特定变量:
${CMAKE_DEFAULT_PROJECT_FILE} | 项目的 main.cpp / main.c / libary.cpp / library.c 文件。 |
${CMAKE_LANGUAGE_VERSION} | 所选的语言标准。 |
${CMAKE_MAJOR_VERSION} | 最低支持的 CMake 版本的主版本号。 例如,如果版本是 |
${CMAKE_MINOR_VERSION} | 最低支持的 CMake 版本的次版本号。 例如,如果版本是 |
${CMAKE_LIBRARY_TYPE} |
|
${QT_VERSION} | 所选的 Qt 版本。 |
${REQUIRED_LIBS} | 所选项目类型所需的 Qt 库。 默认情况下,它们是 Qt 控制台可执行文件的 |
还有一个 CMake 脚本模板,您可以通过项目视图上下文菜单中的 将其添加到现有项目中。 默认情况下,此模板为空。 您可以在 的 个文件 选项卡中使用相同的变量编辑它:

CMakeLists.txt 的编码辅助
代码补全
CLion 为您的 CMakeLists.txt 中的大多数元素提供代码补全。 例如,在编写 find_package() 命令时,您可以获取 CMake 捆绑的包列表:

CMake 最低版本的快速修复
您可以快速调整 CMake 的最低要求版本。 在 CMake 输出中找到警告并点击 修复:

CLion 将更改 cmake_minimum_required() 命令中的版本:

通过生成菜单添加目标
按 Alt+Insert 并选择目标类型:

选择要添加到新目标的文件:

CLion 将添加一个
add_executable或add_library命令:
CMake 的实时模板
使用 实时模板快速插入结构或命令。 例如,键入 exe 并按 Tab 以添加一个可执行目标:


在 中查找 CMake 实时模板的完整列表。
参数信息弹窗
参数信息弹窗会在您键入时显示 CMake 命令的签名变体:

默认情况下,弹窗会在您键入左括号后 1 秒(1000 毫秒)内出现。 您可以在 参数信息设置中更改此设置。
要手动调用参数信息,请按 Ctrl+P。
快速文档弹窗
快速文档弹窗帮助您获取有关 CMake 代码中元素的更多信息。 要调用它,请使用鼠标悬停或按 Ctrl+Q。
例如,您可以查看补全建议的快速文档:

代码折叠
CMake 脚本中的折叠/展开功能适用于宏和函数、if-else 子句、代码块、注释以及任意代码选择(确保在 中启用 自定义折叠区域 以使其生效)。

结构视图
结构视图用于显示 CMake 脚本中使用的变量、函数、宏和目标。 要打开它,请按 Alt+7 (工具窗口)或 Ctrl+F12 (弹出窗口)。

可自定义的语法高亮
您可以在 中调整 CMake 文件的配色和字体方案:

CMake 文件的代码样式
在 中,您可以调整应用于 CMake 文件的代码样式。 当您更改某个设置时,预览窗格会显示这将如何影响您的代码。
