在CLion中,构建CMake项目所需的设置被合并到CMake概要文件中,该配置文件包括工具链,构建类型,CMake选项(例如CMake生成器)和环境变量。例如,拥有多个配置文件使您可以对一个项目使用不同的编译器,或者使用不同的设置来构建CMake目标。
CLion最新试用版
在CLion中,构建CMake项目所需的设置被合并到CMake概要文件中,该配置文件包括工具链,构建类型,CMake选项(例如CMake生成器)和环境变量。例如,拥有多个配置文件使您可以对一个项目使用不同的编译器,或者使用不同的设置来构建CMake目标。
要为您的项目配置CMake配置文件,请转到“设置” /“首选项” |“设置”。构建,执行,部署| CMake的。
- 要将特定的配置文件设置为所有新项目的默认配置文件,请在“ 文件” |“配置”中对其进行配置。其他设置| 新项目的设置| 构建,执行,部署| CMake的。
- 当前,此设置不适用于从源(CPP-17686)创建CMake项目的情况。
构建使用特定轮廓的目标,在工具条(或按上运行/调试配置切换器选择它Shift+Alt+F10用于运行和 Shift+Alt+F9用于调试):

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

您可以设置平台可用的任何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设置中使用自定义类型:

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

环境变量
您可以将其他环境变量传递给CMake并通过CMake设置对话框的环境字段进行构建 (导航至设置/首选项|生成,执行,部署| CMake)。
CMake生成和构建的总体有效环境包括:
1、Parent环境
要包括父环境,请通过单击或按打开“ 环境变量”对话框 ,并设置“ 包括系统环境变量”复选框。您另外指定的值将附加到系统变量中。否则,清除复选框后,您的自定义值将覆盖系统值。

2、工具链环境
例如,在vcvarsall.bat中为MSVC 定义的变量,路径变量(如 mingw/bin和)。
3、CMake配置文件环境
您的自定义变量在“ 环境”字段中指定。
=====================================================
更多关于CLion的教程、资源敬请关注我们即将推出的后续教程哦~
想要购买Clion正版授权的朋友欢迎咨询官方客服。

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!