cmake,add_subdirectory而不将其添加到生成的项目文件中?

时间:2011-08-07 17:14:55

标签: eclipse project cmake generator subdirectory

我有一个用cmake构建的项目。在我的cmakelists我有一个 add_subdirectory(externals/foo) 构建具有自己的cmakelists的依赖“foo”。

现在,生成的Project文件中包含了整个foo源代码和头文件(我正在使用Eclipse)。但我想要的只是让我的项目在Eclipse中可用(Eclipse在同一文件夹结构中存在子项目问题)。 因此,来自“foo”的cmakelists仅用于自动构建“foo”并将其链接到我的项目。我不想在我的IDE中看到它。

这可能吗?如果是:如何?

2 个答案:

答案 0 :(得分:1)

当我将Eclipse与CMake一起使用时,我手动创建Eclipse项目(使用New Project向导),对于CMake,我使用标准的makefile生成器。它需要一些额外的设置:如果你正在进行源外构建,你需要在项目属性中设置构建目录,我通常将构建命令设置为make VERBOSE=1

我不确定,因为我没有使用Eclipse生成器,但由于缺乏更好的解决方案,也许这种方法可以解决您的问题,因为它可以让您更好地控制Eclipse项目。 / p>

答案 1 :(得分:0)

不,如果你不告诉它要编译什么,ide怎么知道要编译什么?如果您不想在项目文件中包含项目,请不要添加它。

只需编译外部库(使用“cmake externals / foo”),然后在项目的CMakeLists.txt中添加库

target_link_libraries(your_project externals/foo/bin/foo.lib)