如何配置 CMake 生成的 Eclipse 项目的构建命令和项目路径?

How can I configure CMake generated Eclipse project's Build Command and Project Paths?

我们的项目使用 CMake 来配置我们的代码。我们将 Ninja 与分布式构建系统一起使用。我们团队中的许多人使用 Eclipse CDT。我们 运行 使用 "Eclipse CDT4 - Ninja" 生成器进行 CMake,结果总体来说还不错。

问题在于,每当更改 CMake 文件并要求 Eclipse 构建代码时,它都会重新生成 Eclipse 项目文件,从而覆盖您对项目所做的任何手动更改。

例如,它提供的eclipse项目的默认构建命令是/usr/bin/ninja,而实际上我想利用我们的分布式构建系统并将构建命令设置为/usr/bin/ninja -j16。如果我能让 CMake 自动生成的项目文件包含此设置更改,那就太好了。

我最想保留的另一个设置是 C/C++ Project Paths->Source。作为一般规则,我们将 CMake 构建目录作为主项目目录的兄弟目录,即 ./project ./build。我们希望在 Eclipse 索引中的构建目录中包含一些文件,以使代码完成和其他工具更好地工作。默认项目不在源路径中包含构建目录,因此它不会被索引。

有什么方法可以解决这些问题吗?

我找到了构建命令问题的解决方案。

当您运行 cmake 生成eclipse 项目时包括附加参数:-DCMAKE_ECLIPSE_NINJA_ARGUMENTS=-j100。我还没有确认,但我相信 eclipse make 项目需要类似的命令 -DCMAKE_ECLIPSE_MAKE_ARGUMENTS=-j100.

不幸的是,这个功能的文档很少,我还没有找到解决我的其他问题的方法。