我正在寻找一些关于如何使用 CMake 在项目中生成、打包和安装手册页的好示例/教程。
谢谢。
在 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)
即使按照 CMake 标准,这看起来也不优雅。我希望看到一个口吃较少的解决方案。
也许您会对以下解决方案感兴趣,它允许生成和安装使用 Markdown 或 AsciiDoc 编写的手册页:
https://github.com/rnpgp/cmake-modules/
要生成和安装用 Markdown 编写的手册页,只需在您的 : 中添加两行即可CMakeLists.txt
:
include(PandocMan)
add_pandoc_man("${CMAKE_CURRENT_SOURCE_DIR}/utility.1.md")
AsciiDoc 和 AsciiDoctor 也一样:
include(AdocMan)
add_adoc_man("${CMAKE_CURRENT_SOURCE_DIR}/utility.1.adoc")
您可以深入研究 CMake 本身的源代码树,以了解它如何安装自己的手册页。
它肯定是以下的组合:
有关更多信息,请参阅 CMake 的 add_custom_command 和安装命令的文档: