使用cmake生成/打包/安装手册页

Noa*_*ins 11 cmake manpage

我正在寻找一些关于如何使用CMake在项目中生成,打包和安装手册页的好示例/教程.

谢谢.

Joa*_*m W 7

在 Linux 下使用 cmake 2.8.12,以下对我有用:

ADD_CUSTOM_TARGET(man ALL)

ADD_CUSTOM_COMMAND(
  TARGET man
  SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/myprog.pod
  COMMAND pod2man ARGS -s 1 -c "myprog manual" ${CMAKE_CURRENT_SOURCE_DIR}/myprog.pod ${CMAKE_CURRENT_BINARY_DIR}/myprog.1
  OUTPUTS ${CMAKE_CURRENT_BINARY_DIR}/myprog.1
)

ADD_CUSTOM_COMMAND(
  TARGET man
  SOURCE man
  DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/myprog.1
)

INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/myprog.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man1)
Run Code Online (Sandbox Code Playgroud)

即使按照 CMake 标准,这看起来也不优雅。我希望看到一个减少口吃的解决方案。

  • 我意识到这个答案已经过去 1 年了,但是因为它会出现在 Google 搜索结果中,所以我不得不分享,由于政策 CMP0050,此方法在 CMake >=3.2.2 上发出警告。CMake 邮件列表建议了一种方法来做提问者想要的:http://www.cmake.org/pipermail/cmake/2010-September/039781.html (3认同)

DLR*_*ave 0

您可以深入研究 CMake 本身的源代码树,了解它如何安装自己的手册页。

它肯定是以下组合:

  • 使用 CMake 的 add_custom_command
  • 调用工具在这些自定义命令中生成/生成文档
  • 将结果安装在正确的位置

有关更多信息,请参阅 CMake 的 add_custom_command 和 install 命令的文档: