summaryrefslogtreecommitdiff
path: root/cmake/modules/FindPOD.cmake
blob: 2c09ce72b1883228a37b1bf921613f580d326c04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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)