【问题标题】:Is it possible to have cmake build file (CMakeLists.txt) not in root in CLion是否有可能在 CLion 的根目录中没有 cmake 构建文件(CMakeLists.txt)
【发布时间】:2015-06-12 04:37:34
【问题描述】:

是否可以让 cmake 构建文件(CMakeLists.txt)不在 CLion 的根目录中?

我目前正在处理 cmake 构建文件不在 CLion 项目的根目录中(在 out/Debug 目录中)的项目。我希望 CLion 打开这个项目的根目录,并使用 out/Debug 中的 cmake。

有可能吗? 示例:

|- main.cpp
|- classs.cpp
|- class.h
|- build1
   |- CMakeLists.txt
|- build2
   |- CMakeLists.txt

这有点不寻常,但想想生成cmake文件的情况。

此外,当两个项目想要拥有单独的 make 文件和公共源时,这也是可能的。

【问题讨论】:

  • “不在 CLion 中的根目录中”您的意思是“不在 CLion 项目的根目录中”,对吗?那我就怀疑了。
  • 好的,谢谢,我稍微修改一下描述
  • 这个问题实在是不清楚,不好意思。请显示您的目录结构。
  • 添加了更多说明

标签: cmake clion


【解决方案1】:

澄清一下,CLION 有解决方案。

请执行以下操作:

 use 'Welcome Screen | Open Project', point to CMakeLists.txt
 use 'Tools | CMake | Change Project Root', and point to the actual project's root.

【讨论】:

  • 这在 CLion 1.2.1 上对我有用。我找不到任何其他解决方法。
【解决方案2】:

长话短说,我为此创建了一个错误

https://youtrack.jetbrains.com/issue/CPP-2943

你认为有用的可以投票

【讨论】:

  • 从 CMake 的角度来看,拥有一个不包含 CMakeLists.txt 的项目根目录是没有意义的。
  • 哦,真的吗?我不这么认为。例如,您可以查看 Chromium,其中 CMakeFIles 是从 gyp 文件生成的。他们将它们放在 ./out/Debug 和 ./out/Release 文件夹中。
  • 有趣。我不知道您可以从 gyp 生成 CMake 文件。我以为 gyp 会生成 Ninja 文件。
  • gyp生成cmake、ninja等)
  • 以下是您可以使用 gyp chromium.googlesource.com/external/gyp.git/+/master/pylib/gyp/… 生成的类型
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-04
  • 1970-01-01
  • 2018-05-09
  • 2019-07-31
  • 2020-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多