【问题标题】:cmake, add_subdirectory without adding it to the generated project file?cmake, add_subdirectory 不将其添加到生成的项目文件中?
【发布时间】:2011-08-07 17:14:55
【问题描述】:

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

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

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

【问题讨论】:

    标签: eclipse project cmake generator subdirectory


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2020-03-08
        • 1970-01-01
        • 1970-01-01
        • 2019-06-24
        • 1970-01-01
        • 2017-06-19
        • 1970-01-01
        • 1970-01-01
        • 2020-05-19
        相关资源
        最近更新 更多