summaryrefslogtreecommitdiffstats
path: root/CMake/Manpage.cmake
blob: e5503760b0c4f085675c07ad5b0cc65eb79c7b00 (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_RUNTIME_OUTPUT_DIRECTORY}/${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_RUNTIME_OUTPUT_DIRECTORY}/${name}.${section}
	)
	add_dependencies(man
		man-${name}.${section}
	)

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