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()