summaryrefslogtreecommitdiffstats
path: root/CMake/Manpage.cmake
blob: 4842387ef1c44701d6c2255eef9762110fa17ff3 (plain) (blame)
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
find_package(A2X REQUIRED)

add_custom_target(man ALL)

function(add_manpage name section)
	add_custom_command(
	OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${name}.${section}
	COMMAND ${A2X_COMMAND}
			--no-xmllint
			--doctype manpage
			--format manpage
			-D ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
			${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt
	DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.${section}.txt
	COMMENT Generating manpage for ${name}.${section}
	)

	add_custom_target(man-${name}.${section}
	DEPENDS
		${CMAKE_CURRENT_BINARY_DIR}/${name}.${section}
	)
	add_dependencies(man
		man-${name}.${section}
	)

	install(
	FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section}
	DESTINATION share/man/man${section}
	COMPONENT documentation
	)
endfunction()