【问题标题】:Group build targets in CMake projectCMake 项目中的组构建目标
【发布时间】:2016-05-12 14:27:56
【问题描述】:

我刚刚使用 add_custom_target() 命令在我的项目中包含了 doxygen 生成。现在我没有包括所有,因为我不希望这个构建成为默认值。

现在我有以下场景。

项目/subproj1/doc 项目/subproj2/doc

在每个子项目中都有一个 CMakeLists.txt 文件: add_custom_target(gen_doc_subproj1 ...) add_custom_target(gen_doc_subproj2 ...)

我想要实现的是,在生成我的 make 文件后,我可以输入:

制作文档 它将构建所有文档目标。

CMake 中是否有一些构造,例如: if_not_exist_target_group(doc) create_target_group(doc) endif add_to_target_group(gen_doc_subproj1, doc)

任何指针都会被应用。

【问题讨论】:

  • 您是否尝试在主CMakeLists.txt 中创建空列表,将其填充到子cmake 文件中,然后将add_subdirectory 输出为message(STATUS "${mylist}")

标签: cmake


【解决方案1】:

如果我没听错的话,就这么简单

if(NOT TARGET doc)
  add_custom_target(doc)
  add_dependencies(doc gen_doc_subproj1 gen_doc_subproj2 ...)
endif()

【讨论】:

  • 您好,这正是我要找的。我知道用 CMake 实现应该没有那么难。感谢您的回复。
猜你喜欢
  • 2017-08-31
  • 1970-01-01
  • 1970-01-01
  • 2016-08-02
  • 1970-01-01
  • 2011-07-20
  • 2020-12-28
  • 2014-05-27
  • 1970-01-01
相关资源
最近更新 更多