From 861f091bbbe5a70d4b78cff49701a65257e72a06 Mon Sep 17 00:00:00 2001 From: Thomas Lauf Date: Fri, 4 Apr 2025 23:50:37 +0200 Subject: [PATCH] Fix installation of man pages from tarball Install man pages from tar ball The generated man pages are already present in the tar ball. Simply install those then, even if Asciidoctor is not present. Optimize CMake files. Closes #620 Signed-off-by: Thomas Lauf --- doc/CMakeLists.txt | 13 +++++-------- doc/man1/CMakeLists.txt | 27 ++++++++++++++++----------- doc/man7/CMakeLists.txt | 27 ++++++++++++++++----------- 3 files changed, 37 insertions(+), 30 deletions(-) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 6e55dcc1..379baf2c 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -8,12 +8,9 @@ add_subdirectory (themes) if (ASCIIDOCTOR_FOUND) set (ASCIIDOCTOR_OPTIONS "--attribute=manmanual=User Manuals" "--attribute=mansource=timew ${PROJECT_VERSION}") - - add_subdirectory (man1) - add_subdirectory (man7) - - add_custom_target (doc ALL DEPENDS man1 man7) -else (ASCIIDOCTOR_FOUND) - add_custom_target (doc ALL - COMMAND echo "Tool 'asciidoctor' is required to generate man pages! Please install it first.") endif (ASCIIDOCTOR_FOUND) + +add_subdirectory (man1) +add_subdirectory (man7) + +add_custom_target (doc ALL DEPENDS man1 man7) diff --git a/doc/man1/CMakeLists.txt b/doc/man1/CMakeLists.txt index 8c34c102..4ceaf279 100644 --- a/doc/man1/CMakeLists.txt +++ b/doc/man1/CMakeLists.txt @@ -1,19 +1,24 @@ cmake_minimum_required (VERSION 3.10) -file (GLOB DOC_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.1.adoc") -set (DOC_FILES) +if (ASCIIDOCTOR_FOUND) + file (GLOB DOC_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.1.adoc") + set (DOC_FILES) -foreach (SRC ${DOC_SOURCES}) - string (REPLACE ".adoc" "" OUTPUT_FILE_NAME "${SRC}") - string (REPLACE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}" OUTPUT_FILE_NAME "${OUTPUT_FILE_NAME}") + foreach (SRC IN LISTS DOC_SOURCES) + string (REPLACE ".adoc" "" OUTPUT_FILE_NAME "${SRC}") + string (REPLACE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}" OUTPUT_FILE_NAME "${OUTPUT_FILE_NAME}") - add_custom_command (OUTPUT "${OUTPUT_FILE_NAME}" - COMMAND ${ASCIIDOCTOR_EXECUTABLE} -b manpage ${ASCIIDOCTOR_OPTIONS} ${SRC} -o ${OUTPUT_FILE_NAME} - DEPENDS "${SRC}") + add_custom_command (OUTPUT "${OUTPUT_FILE_NAME}" + COMMAND ${ASCIIDOCTOR_EXECUTABLE} -b manpage ${ASCIIDOCTOR_OPTIONS} "${SRC}" -o "${OUTPUT_FILE_NAME}" + DEPENDS "${SRC}") - set (DOC_FILES ${DOC_FILES} "${OUTPUT_FILE_NAME}") -endforeach (SRC) + list (APPEND DOC_FILES "${OUTPUT_FILE_NAME}") + endforeach (SRC) -add_custom_target (man1 DEPENDS ${DOC_FILES}) + add_custom_target (man1 DEPENDS ${DOC_FILES}) +else (ASCIIDOCTOR_FOUND) + file (GLOB MAN_PAGES "${CMAKE_CURRENT_SOURCE_DIR}/*.1") + set (DOC_FILES ${MAN_PAGES}) +endif (ASCIIDOCTOR_FOUND) install (FILES ${DOC_FILES} DESTINATION ${TIMEW_MAN1DIR}) diff --git a/doc/man7/CMakeLists.txt b/doc/man7/CMakeLists.txt index e5e7af08..58b1b968 100644 --- a/doc/man7/CMakeLists.txt +++ b/doc/man7/CMakeLists.txt @@ -1,19 +1,24 @@ cmake_minimum_required (VERSION 3.10) -file (GLOB DOC_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.7.adoc") -set (DOC_FILES) +if (ASCIIDOCTOR_FOUND) + file (GLOB DOC_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.7.adoc") + set (DOC_FILES) -foreach (SRC ${DOC_SOURCES}) - string (REPLACE ".adoc" "" OUTPUT_FILE_NAME "${SRC}") - string (REPLACE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}" OUTPUT_FILE_NAME "${OUTPUT_FILE_NAME}") + foreach (SRC IN LISTS DOC_SOURCES) + string (REPLACE ".adoc" "" OUTPUT_FILE_NAME "${SRC}") + string (REPLACE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}" OUTPUT_FILE_NAME "${OUTPUT_FILE_NAME}") - add_custom_command (OUTPUT "${OUTPUT_FILE_NAME}" - COMMAND ${ASCIIDOCTOR_EXECUTABLE} -b manpage ${ASCIIDOCTOR_OPTIONS} ${SRC} -o ${OUTPUT_FILE_NAME} - DEPENDS "${SRC}") + add_custom_command (OUTPUT "${OUTPUT_FILE_NAME}" + COMMAND ${ASCIIDOCTOR_EXECUTABLE} -b manpage ${ASCIIDOCTOR_OPTIONS} "${SRC}" -o "${OUTPUT_FILE_NAME}" + DEPENDS "${SRC}") - set (DOC_FILES ${DOC_FILES} "${OUTPUT_FILE_NAME}") -endforeach (SRC) + list (APPEND DOC_FILES "${OUTPUT_FILE_NAME}") + endforeach (SRC) -add_custom_target (man7 DEPENDS ${DOC_FILES}) + add_custom_target (man7 DEPENDS ${DOC_FILES}) +else (ASCIIDOCTOR_FOUND) + file (GLOB MAN_PAGES "${CMAKE_CURRENT_SOURCE_DIR}/*.7") + set (DOC_FILES ${MAN_PAGES}) +endif (ASCIIDOCTOR_FOUND) install (FILES ${DOC_FILES} DESTINATION ${TIMEW_MAN7DIR})