summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt50
-rw-r--r--CMakeScripts/Pod2man.cmake54
2 files changed, 55 insertions, 49 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 62e976852..1e4dd7eeb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -147,55 +147,7 @@ endif(ENABLE_NLS)
# -----------------------------------------------------------------------------
# Man pages
# -----------------------------------------------------------------------------
-
-find_program(POD2MAN pod2man)
-if(NOT POD2MAN)
- message(STATUS "Could not find pod2man - man pages disabled")
-endif()
-
-macro(pod2man PODFILE_FULL RELEASE SECTION CENTER)
- get_filename_component(PODFILE ${PODFILE_FULL} NAME)
- string(REPLACE "." ";" PODFILE_LIST ${PODFILE})
- list(GET PODFILE_LIST 0 NAME)
- list(GET PODFILE_LIST 1 LANG)
- string(TOUPPER ${NAME} NAME_UPCASE)
- if(${LANG} STREQUAL "pod")
- set(LANG "")
- endif()
-
- if(NOT EXISTS ${PODFILE_FULL})
- message(FATAL ERROR "Could not find pod file ${PODFILE_FULL} to generate man page")
- endif(NOT EXISTS ${PODFILE_FULL})
-
- if(POD2MAN)
- if(LANG)
- set(MANPAGE_TARGET "man-${NAME}-${LANG}")
- set(MANFILE_TEMP "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.${LANG}.tmp")
- set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.${LANG}.${SECTION}")
- else()
- set(MANPAGE_TARGET "man-${NAME}")
- set(MANFILE_TEMP "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.tmp")
- set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.${SECTION}")
- endif()
- add_custom_command(
- OUTPUT ${MANFILE_TEMP}
- COMMAND ${POD2MAN} --utf8 --section="${SECTION}" --center="${CENTER}"
- --release="${RELEASE}" --name="${NAME_UPCASE}" "${PODFILE_FULL}" "${MANFILE_TEMP}"
- )
- add_custom_command(
- OUTPUT ${MANFILE_FULL}
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/fix-roff-punct "${MANFILE_TEMP}" > ${MANFILE_FULL}
- DEPENDS ${MANFILE_TEMP}
- )
- add_custom_target(${MANPAGE_TARGET} ALL
- DEPENDS ${MANFILE_FULL}
- )
- install(
- FILES ${MANFILE_FULL}
- DESTINATION ${CMAKE_INSTALL_MANDIR}/man${SECTION}
- )
- endif()
-endmacro(pod2man PODFILE NAME SECTION CENTER)
+include("CMakeScripts/Pod2man.cmake")
# Load AUTHORS file contents into $INKSCAPE_AUTHORS
FILE(READ ${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS content)
diff --git a/CMakeScripts/Pod2man.cmake b/CMakeScripts/Pod2man.cmake
new file mode 100644
index 000000000..839e79d80
--- /dev/null
+++ b/CMakeScripts/Pod2man.cmake
@@ -0,0 +1,54 @@
+# Use pod2man to generate manual pages from .pod files
+
+# Usage: pod2man(<podfile> <release-string> <man-section> <heading-center-text>)
+#
+# E.g.: pod2man("/path/to/file/mypod.pod" "1.2.3" 1 "My Manual Pages")
+
+find_program(POD2MAN pod2man)
+if(NOT POD2MAN)
+ message(STATUS "Could not find pod2man - man pages disabled")
+endif()
+
+macro(pod2man PODFILE_FULL RELEASE SECTION CENTER)
+ get_filename_component(PODFILE ${PODFILE_FULL} NAME)
+ string(REPLACE "." ";" PODFILE_LIST ${PODFILE})
+ list(GET PODFILE_LIST 0 NAME)
+ list(GET PODFILE_LIST 1 LANG)
+ string(TOUPPER ${NAME} NAME_UPCASE)
+ if(${LANG} STREQUAL "pod")
+ set(LANG "")
+ endif()
+
+ if(NOT EXISTS ${PODFILE_FULL})
+ message(FATAL ERROR "Could not find pod file ${PODFILE_FULL} to generate man page")
+ endif(NOT EXISTS ${PODFILE_FULL})
+
+ if(POD2MAN)
+ if(LANG)
+ set(MANPAGE_TARGET "man-${NAME}-${LANG}")
+ set(MANFILE_TEMP "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.${LANG}.tmp")
+ set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.${LANG}.${SECTION}")
+ else()
+ set(MANPAGE_TARGET "man-${NAME}")
+ set(MANFILE_TEMP "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.tmp")
+ set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.${SECTION}")
+ endif()
+ add_custom_command(
+ OUTPUT ${MANFILE_TEMP}
+ COMMAND ${POD2MAN} --utf8 --section="${SECTION}" --center="${CENTER}"
+ --release="${RELEASE}" --name="${NAME_UPCASE}" "${PODFILE_FULL}" "${MANFILE_TEMP}"
+ )
+ add_custom_command(
+ OUTPUT ${MANFILE_FULL}
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/fix-roff-punct "${MANFILE_TEMP}" > ${MANFILE_FULL}
+ DEPENDS ${MANFILE_TEMP}
+ )
+ add_custom_target(${MANPAGE_TARGET} ALL
+ DEPENDS ${MANFILE_FULL}
+ )
+ install(
+ FILES ${MANFILE_FULL}
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man${SECTION}
+ )
+ endif()
+endmacro(pod2man PODFILE NAME SECTION CENTER)