在哪里放置 CMake 宏定义?

Where to place CMake macro definitions?

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

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

我不太清楚你需要什么。但是,为什么不使用 cmake 以这种方式简单地包含包含宏的 de 文件呢?

include(path/to/Poco/cmake/macros.cmake)
  • 接Poco项目
  • 打开 Poco 的主要 CMakeLists.txt 并注释(使用 #)您不需要的目录的所有 add_subdirectory 命令。
  • 尝试构建 Poco
  • 如果失败,添加回包含缺失依赖项的目录(简而言之,你可能认为你不需要一个目录,但它可能是你需要的目录之一依赖于另一个目录)
  • 构建时,您可以删除已删除命令的所有目录 add_subdirectory