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)