find_program(HELP2MAN help2man DOC "Location of the help2man program")
find_program(GZIP gzip DOC "Location of the gzip program")
mark_as_advanced(HELP2MAN)
mark_as_advanced(GZIP)

if(HELP2MAN AND GZIP)	
  set(H2M_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.supplemental.groff)
  set(MAN_PAGE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.1)
  set(MAN_FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.1.gz)
  add_custom_command(
    OUTPUT ${MAN_FILE}
    COMMAND ${HELP2MAN} -N -i ${H2M_FILE} -o ${MAN_PAGE} ${PROJECT_BINARY_DIR}/${PROJECT_NAME}${CMAKE_EXECUTABLE_SUFFIX}
    COMMAND ${GZIP} -f -9 ${MAN_PAGE}
    MAIN_DEPENDENCY ${H2M_FILE}
	COMMENT "Building man page"
	VERBATIM
	)
  add_custom_target(manpage ALL DEPENDS ${MAN_FILE} ${PROJECT_NAME})
  install(FILES ${MAN_FILE} DESTINATION ${INSTALL_SHARE_DIR}/man/man1)
else(HELP2MAN AND GZIP)
  message("WARNING: One of the following is missing: help2man, gzip; man page will not be generated")
endif(HELP2MAN AND GZIP)