【问题标题】:Where to place CMake macro definitions?在哪里放置 CMake 宏定义?
【发布时间】:2015-04-22 20:13:05
【问题描述】:

我正在编写一个依赖于Poco 项目的应用程序。我只需要几个子模块,但它们使用由 Poco 项目定义的宏,这些宏存储在 Poco 文件夹结构根目录的 cmake 文件夹中。

我不想拖动整个 Poco 文件夹,因为我不想将我的项目链接到整个 Poco 框架。如何使这些宏可用于我的项目?

【问题讨论】:

  • 对答案有任何反馈吗?
  • 由于白天的工作让我很忙,所以没能完成这项工作。

标签: c++ c++11 cmake poco-libraries


【解决方案1】:

我不确定你需要什么。但是为什么不通过 cmake 这种方式简单地包含包含宏的 de 文件呢?

include(path/to/Poco/cmake/macros.cmake)

【讨论】:

    【解决方案2】:
    • 参加 Poco 项目
    • 打开 Poco 的主 CMakeLists.txt 并注释(使用 #)所有您不需要的目录的 add_subdirectory 命令。
    • 尝试构建 Poco
    • 如果失败,请重新添加包含缺失依赖项的目录(简而言之,您可能认为不需要目录,但可能是您需要的目录之一依赖于另一个目录)
    • 在构建时,您可以删除所有已删除命令add_subdirectory的目录

    【讨论】:

    • 错误的答案,因为它在 Poco 项目中具有侵入性,然后您必须复制它以避免与使用 Poco 的其他应用程序发生冲突。此外,您无法保证您的修改在移除部件后适用于其他系统配置(这是 CMake 的目标......)。
    猜你喜欢
    • 2011-03-24
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多