我正在寻找一些关于如何使用CMake在项目中生成,打包和安装手册页的好示例/教程。
感谢。
答案 0 :(得分:3)
在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标准,这看起来也不太优雅。我希望看到一个较少口吃的解决方案。
答案 1 :(得分:1)
也许您会对以下解决方案感兴趣,它允许生成和安装使用 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")
答案 2 :(得分:0)
您可以深入研究CMake自身的源代码树,看看它如何安装自己的手册页。
肯定是以下组合:
有关更多信息,请参阅CMake的add_custom_command文档并安装命令: