【问题标题】:How do I create a CMakeLists.txt?如何创建 CMakeLists.txt?
【发布时间】:2018-07-19 00:23:25
【问题描述】:

我开始学习 CMake 并且有两个问题:

1.每次添加新文件时是否需要更新 CMakeLists.txt 文件?

假设项目规模越来越大,项目中的子目录和源文件的数量也会大大增加。

在这种情况下,我想每次向项目中添加新文件或目录时更新 CMakelists.txt 文件是不方便的。

或者它是代码管理的一部分?一般是怎么做的?

2。为了使用 CMake 构建 C Eclipse 项目(makefile),我应该手动编写 CMakeList.txt 吗?

有很多方法可以将CMake项目导入Eclipse,但是我看不到如何用CMake构建一个C Eclipse项目。

【问题讨论】:

  • 每个问题帖子一个问题,拜托。此外,标题应该反映一个问题,而不是一个主题。

标签: c eclipse build cmake


【解决方案1】:

每次添加新文件时是否需要更新 CMakeLists.txt 文件?

CMake 和 GNU make 一样,允许使用通配符来指定源文件。

但是,最好明确列出要构建的文件,以避免愚蠢的错误(例如,由于源目录中的文件丢失或意外文件)。

当文件列表变大时,构建定义文件(如 CMakeLists.txt)可能会被拆分为多个文件。

为了构建一个/C Eclipse项目(makefile)/使用CMake,我应该手动编写CMakelist.txt吗?

我不了解 Eclipse,但许多 IDE 部分/完全自动创建 CMakelists.txt。也许 Eclipse 也有这样的工具。

【讨论】:

  • 通常 IDE 不会创建 CMakeLists.txt,它们会在更新后自动生成/更新项目。
【解决方案2】:

是的,手动编写您的 CMakeLists.txt。除了添加新的头文件之外,这几乎不能自动化。有一种方法可以包含所有 *.h 文件,但并不支持。

并手动添加每个新的头文件。不需要 C 文件。添加头文件不应该经常发生。

【讨论】:

    【解决方案3】:

    建议您编写自己的 CMakeLists.txt 文件(至少您了解 CMake 的工作原理)。但是,对于较大的项目,将其自动化是有意义的。我决定发布我自己的 CMake 生成器 https://github.com/Aenteas/cmake-generator,以便任何想要实现其定制版本的人都可以从这里采纳一些想法(因为我的生成器不太可能完全满足您的需求)。

    【讨论】:

      猜你喜欢
      • 2021-05-07
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多