summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2009-11-11 16:20:37 +0000
committerJörg Mayer <jmayer@loplof.de>2009-11-11 16:20:37 +0000
commit564500f8738fdddbd3ea9dc2ea33c646e1b28618 (patch)
tree11da04f898a09052431f93cc9148c712facc9d0d /cmake
parent632b0aef98d8968fa21e59002afb8fb8b6d9ac3f (diff)
downloadwireshark-564500f8738fdddbd3ea9dc2ea33c646e1b28618.tar.gz
- Generate manpages and html version of manpages
- Detect pod2man/pod2html to do that - Install manpages and html version thereof svn path=/trunk/; revision=30934
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/CMakeInstallDirs.cmake4
-rw-r--r--cmake/modules/FindPOD.cmake85
2 files changed, 87 insertions, 2 deletions
diff --git a/cmake/modules/CMakeInstallDirs.cmake b/cmake/modules/CMakeInstallDirs.cmake
index d503662666..dba19217c2 100644
--- a/cmake/modules/CMakeInstallDirs.cmake
+++ b/cmake/modules/CMakeInstallDirs.cmake
@@ -55,7 +55,7 @@ SET(CMAKE_INSTALL_DATADIR_DOC "read-only architecture-independent data [PR
SET(CMAKE_INSTALL_SYSCONFDIR_DOC "read-only single-machine data [PREFIX/etc]")
SET(CMAKE_INSTALL_LOCALSTATEDIR_DOC "modifiable single-machine data [PREFIX/var]")
SET(CMAKE_INSTALL_LIBDIR_DOC "object code libraries [PREFIX/lib]")
-SET(CMAKE_INSTALL_MANDIR_DOC "man documentation [PREFIX/man]")
+SET(CMAKE_INSTALL_MANDIR_DOC "man documentation [PREFIX/share/man]")
#Special case for /etc and /var when prefix is /usr
IF(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr")
@@ -76,7 +76,7 @@ SET(CMAKE_INSTALL_LOCALSTATEDIR "var"
CACHE PATH ${CMAKE_INSTALL_LOCALSTATEDIR_DOC})
SET(CMAKE_INSTALL_LIBDIR "lib"
CACHE PATH ${CMAKE_INSTALL_LIBDIR_DOC})
-SET(CMAKE_INSTALL_MANDIR "man"
+SET(CMAKE_INSTALL_MANDIR "share/man"
CACHE PATH ${CMAKE_INSTALL_MANDIR_DOC})
diff --git a/cmake/modules/FindPOD.cmake b/cmake/modules/FindPOD.cmake
new file mode 100644
index 0000000000..2c09ce72b1
--- /dev/null
+++ b/cmake/modules/FindPOD.cmake
@@ -0,0 +1,85 @@
+#
+# $Id$
+#
+# - Find unix commands from cygwin
+# This module looks for some usual Unix commands.
+#
+
+INCLUDE(FindCygwin)
+
+FIND_PROGRAM(POD2MAN_EXECUTABLE
+ NAMES
+ pod2man
+ PATHS
+ ${CYGWIN_INSTALL_PATH}/bin
+ /bin
+ /usr/bin
+ /usr/local/bin
+ /sbin
+)
+
+MARK_AS_ADVANCED(POD2MAN_EXECUTABLE)
+
+# search pod2man
+MACRO(FIND_POD2MAN)
+ IF(NOT POD2MAN_EXECUTABLE)
+ FIND_PROGRAM(POD2MAN_EXECUTABLE pod2man)
+ IF (NOT POD2MAN_EXECUTABLE)
+ MESSAGE(FATAL_ERROR "pod2man not found - aborting")
+ ENDIF (NOT POD2MAN_EXECUTABLE)
+ ENDIF(NOT POD2MAN_EXECUTABLE)
+ENDMACRO(FIND_POD2MAN)
+
+FIND_PROGRAM(POD2HTML_EXECUTABLE
+ NAMES
+ pod2html
+ PATHS
+ ${CYGWIN_INSTALL_PATH}/bin
+ /bin
+ /usr/bin
+ /usr/local/bin
+ /sbin
+)
+
+MARK_AS_ADVANCED(POD2HTML_EXECUTABLE)
+
+# search pod2html
+MACRO(FIND_POD2HTML)
+ IF(NOT POD2HTML_EXECUTABLE)
+ FIND_PROGRAM(POD2HTML_EXECUTABLE pod2html)
+ IF (NOT POD2HTML_EXECUTABLE)
+ MESSAGE(FATAL_ERROR "pod2html not found - aborting")
+ ENDIF (NOT POD2HTML_EXECUTABLE)
+ ENDIF(NOT POD2HTML_EXECUTABLE)
+ENDMACRO(FIND_POD2HTML)
+
+# run pod2man and pod2html
+MACRO(pod2manhtml _sourcefile _manext)
+ GET_FILENAME_COMPONENT(_basefile ${_sourcefile} NAME)
+ set(_outman ${_basefile}.${_manext})
+ set(_outhtml ${_basefile}.html)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT
+ ${_outman}
+ ${_outhtml}
+ COMMAND
+ ${POD2MAN_EXECUTABLE}
+ --section=${_manext}
+ --center="The Wireshark Network Analyzer"
+ --release=${CPACK_PACKAGE_VERSION}
+ ${_sourcefile}.pod
+ > ${_outman}
+ COMMAND
+ ${POD2HTML_EXECUTABLE}
+ --title="${_basefile} - The Wireshark Network Analyzer ${CPACK_PACKAGE_VERSION}"
+ --css=${CMAKE_SOURCE_DIR}/docbook/ws.css
+ --noindex
+ ${_sourcefile}.pod
+ > ${_outhtml}
+ DEPENDS
+ ${_sourcefile}.pod
+ ${CMAKE_SOURCE_DIR}/docbook/ws.css
+
+ )
+ENDMACRO(pod2manhtml)
+