在CLion中,如何设置CMakeLists.txt的选项值?

10

我正在尝试使用CLion(最新版本-2019.3)处理我的源代码仓库,该仓库已经使用了CMake(即有一个CMakeLists.txt文件)。现在,该包有一些关于构建哪些目标的选项;默认情况下仅构建几个,但如果您将选项设置为ON,则会编译和构建一堆测试。

不幸的是,我不太清楚CLion让您在生成的构建子目录中设置CMake选项值的位置。它确实强制您使用默认值,还是我在主界面或首选项中遗漏了什么?


2
CMake选项字段中添加-D选项有什么问题吗? - Tsyvarev
@Tsyvarev:如果我强制重新配置,那应该可以解决。 - einpoklum
CLion会在您更改任何与CMake相关的选项时自动重新配置项目。 - triclosan
我也对此非常感兴趣。很让人沮丧的是,我必须更改CMakeLists.txt才能启用其中一个选项。更糟糕的是:每次设置选项ON/OFF后,您还必须“重置缓存并重新加载项目”。 - a_girl
@a_girl:请看我的回答。 - einpoklum
1
@einpoklum,看起来您是[cmakelists-options]标签的创建者。已经开启了一个元标签以消除该标签(https://meta.stackoverflow.com/questions/398108/what-is-the-tag-cmakelists-options-about)。如果您想保留它,您可能需要发表意见。 - Machavity
1个回答

8

CLion 2022.2及以上版本

CMake支持设置(缓存的)选项值:

  1. 在菜单中选择 文件 | 设置...
  2. 在导航树中找到 构建、执行、部署 | CMake
  3. 在配置文件面板中,选择要编辑选项的CMake配置文件。
  4. 您将看到一个名为“Cache Variables”的可展开区域。

enter image description here

CMake 2022.1及之前版本

目前,没有UI用于设置选项值。您需要编辑CMake配置文件(在菜单中:文件 | 设置 | 构建、执行、部署 | CMake),并手动添加CMake命令行选项,例如-DBUILD_TESTS:BOOL=ON

关于这个问题我已经提交了bug CPP-20268

CLion的开发人员计划通过一种机制来编辑所有的CMake缓存 - 这是一种我不赞成的方法,但我认为比没有好。这是问题 CPP-423


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接