build: ship generated man pages in source tarball

This commit is contained in:
Marcus Holland-Moritz 2024-08-06 15:51:17 +02:00
parent a4a8f44075
commit b6f4e25a17
2 changed files with 34 additions and 21 deletions

View File

@ -206,11 +206,15 @@ if(STATIC_BUILD_DO_NOT_USE)
endif()
if(WITH_MAN_PAGES)
if(DWARFS_GIT_BUILD)
find_program(RONN_EXE ronn DOC "ronn man page generator" REQUIRED)
endif()
foreach(man dwarfs.1 mkdwarfs.1 dwarfsck.1 dwarfsextract.1 dwarfs-format.5)
string(REGEX MATCH "^[^.]*" docname "${man}")
string(REGEX MATCH "[^.]*$" section "${man}")
if(DWARFS_GIT_BUILD)
set(man_dir "${CMAKE_CURRENT_BINARY_DIR}/man${section}")
set(man_input "${CMAKE_CURRENT_SOURCE_DIR}/doc/${docname}.md")
set(man_output "${man_dir}/${man}")
@ -234,6 +238,9 @@ if(WITH_MAN_PAGES)
message(WARNING "${RONN_EXE} failed to process ${man_input} -> ${man}")
message(WARNING "error: ${ronn_error}")
endif()
else()
list(APPEND MAN_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/doc/man${section}")
endif()
endforeach()
endif()
@ -1015,8 +1022,10 @@ endif()
if(WITH_MAN_PAGES)
list(REMOVE_DUPLICATES MAN_DIRS)
if(DWARFS_GIT_BUILD)
add_custom_target(manpages ALL DEPENDS ${MAN_PAGES})
endif()
endif()
if(DWARFS_GIT_BUILD)
set(THRIFT_GENERATED_DIR ${CMAKE_CURRENT_BINARY_DIR})

View File

@ -20,8 +20,12 @@ if(CPACK_SOURCE_INSTALLED_DIRECTORIES)
message(STATUS "Adding versioning files from @PROJECT_BINARY_DIR@ to ${CMAKE_CURRENT_BINARY_DIR}...")
file(INSTALL "@PROJECT_BINARY_DIR@/include/dwarfs/version.h" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/include/dwarfs")
file(INSTALL "@PROJECT_BINARY_DIR@/src/dwarfs/version.cpp" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/src/dwarfs")
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc/man1")
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc/man5")
file(INSTALL "@PROJECT_BINARY_DIR@/man5/dwarfs-format.5" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/doc/man5")
foreach(prog dwarfs dwarfsck dwarfsextract mkdwarfs)
file(INSTALL "@PROJECT_BINARY_DIR@/src/dwarfs/tool/${prog}_manpage.cpp" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/src/dwarfs/tool")
file(INSTALL "@PROJECT_BINARY_DIR@/man1/${prog}.1" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/doc/man1")
endforeach()
file(INSTALL "@PROJECT_BINARY_DIR@/package_version.cmake" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/cmake")
message(STATUS "Adding generated thrift files from @PROJECT_BINARY_DIR@ to ${CMAKE_CURRENT_BINARY_DIR}...")