在Clion中配置项目(三):CMake构建系统之CMake配置文件

在CLion中,构建CMake项目所需的设置被合并到CMake概要文件中,该配置文件包括工具链,构建类型,CMake选项(例如CMake生成器)和环境变量。例如,拥有多个配置文件使您可以对一个项目使用不同的编译器,或者使用不同的设置来构建CMake目标。

CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C++,同时它还使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率。

CLion最新试用版

在CLion中,构建CMake项目所需的设置被合并到CMake概要文件中,该配置文件包括工具链,构建类型,CMake选项(例如CMake生成器)和环境变量。例如,拥有多个配置文件使您可以对一个项目使用不同的编译器,或者使用不同的设置来构建CMake目标。

要为您的项目配置CMake配置文件,请转到“设置” /“首选项” |“设置”。构建,执行,部署| CMake的。

  • 要将特定的配置文件设置为所有新项目的默认配置文件,请在“ 文件” |“配置”中对其进行配置。其他设置| 新项目的设置| 构建,执行,部署| CMake的。
  • 当前,此设置不适用于从源(CPP-17686)创建CMake项目的情况。

构建使用特定轮廓的目标,在工具条(或按上运行/调试配置切换器选择它Shift+Alt+F10用于运行和 Shift+Alt+F9用于调试):

在Clion中配置项目(三):CMake构建系统之CMake配置文件

Generators

在CMake选项字段中,您可以通过指定CMake生成器-G。例如,对于 Ninja

在Clion中配置项目(三):CMake构建系统之CMake配置文件

您可以设置平台可用的任何CMake生成器,并在必要时在不同的CMake配置文件中使用不同的生成器。

构建项目时,请确保在配置切换器中选择所需的配置文件:

在Clion中配置项目(三):CMake构建系统之CMake配置文件

请注意,对于CMake概要文件,实际构建的工具来自选定的工具链。如果您指定的生成器不是Makefiles,则工具链设置中的Make路径将被忽略。

当前的问题和局限性

  • CLion使用CMake File API,它最早出现在CMake v3.14中。但是,CLion从CMake v3.15中引入的更新开始支持它,因此,如果您决定从捆绑的CMake中切换,请确保使用版本3.15.x或更高版本。
  • 当前,非默认生成器(CPP-17622)不支持重新编译单个文件。
  • 对于Xcode和Visual Studio等多配置生成器,CLion将仅使用与CMake配置文件中指定的生成类型相对应的配置。

构建类型

使用“ 构建类型”字段来设置以下CMake构建类型之一:

  • 默认值(对应于CMAKE_BUILD_TYPE 的空值)。
  • 调试(默认构建类型)
  • 发布
  • RelWithDebInfo(发布调试信息)
  • MinSizeRel(针对大小进行了优化的发布)

要在CMakeLists.txt中引用构建类型,请使用CMAKE_BUILD_TYPE变量。例如:

if (CMAKE_BUILD_TYPE MATCHES Debug)    add_definitions(-DDEBUG=1)endif()

您还可以根据当前的构建类型在代码中创建条件语句:

int main(int argc, const char* argv[]) {#if DEBUG...#else...#endif

ustom构建类型

在CMAKE_CONFIGURATION_TYPES命令中定义了可用构建类型的列表。该命令的默认值为上面给出的四种构建类型,但是您可以将其扩展为其他构建类型。例如:

# adding two custom build types to the cached value# variable CMAKE_CONFIGURATION_TYPES should be defined before other definitions:set(CMAKE_CONFIGURATION_TYPES "MyDebug;MyRelease" CACHE STRING "" FORCE)

重新加载项目后,可以从CMake设置中使用自定义类型:

在Clion中配置项目(三):CMake构建系统之CMake配置文件

请注意,自定义类型已添加到值Debug中,该值已缓存在CMakeCache.txt中。因此,例如,如果添加一个新的CMake配置文件,它将具有自己的CMakeCache.txt,对于此配置文件,可用构建类型的列表将仅包含您的自定义类型:

在Clion中配置项目(三):CMake构建系统之CMake配置文件

环境变量

您可以将其他环境变量传递给CMake并通过CMake设置对话框的环境字段进行构建 (导航至设置/首选项|生成,执行,部署| CMake)。

CMake生成和构建的总体有效环境包括:

1、Parent环境

要包括父环境,请通过单击或按打开“ 环境变量”对话框 ,并设置“ 包括系统环境变量”复选框。您另外指定的值将附加到系统变量中。否则,清除复选框后,您的自定义值将覆盖系统值。

图标操作菜单打开Shift+Enter

2、工具链环境

例如,在vcvarsall.bat中为MSVC 定义的变量,路径变量(如 mingw/bin和)。

3、CMake配置文件环境

您的自定义变量在“ 环境”字段中指定。

=====================================================

更多关于CLion的教程、资源敬请关注我们即将推出的后续教程哦~

想要购买Clion正版授权的朋友欢迎咨询官方客服

关注下方微信公众号吗,及时获取产品最新消息和最新资讯

在Clion中配置项目(三):CMake构建系统之CMake配置文件

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月12日
下一篇 2020年1月12日

相关推荐

发表回复

登录后才能评论