From 43da7cd3c94247f8b7e5d6bec0c6ac491d6ba817 Mon Sep 17 00:00:00 2001
From: Přemysl Janouch 
Date: Sun, 9 Oct 2016 15:47:25 +0200
Subject: Generate a manual page
Also mention our fancy new stream feature in the README.
---
 CMakeLists.txt | 26 +++++++++++++++++++++++++-
 README.adoc    |  7 ++++++-
 2 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c7a455c..fcb5ba0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -69,11 +69,35 @@ target_link_libraries (${PROJECT_NAME} ${UNISTRING_LIBRARIES}
 	${NCURSESW_LIBRARIES} termo-static ${curl_LIBRARIES})
 add_threads (${PROJECT_NAME})
 
-# The files to be installed
+# Installation
 include (GNUInstallDirs)
 install (TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
 install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
 
+# Generate documentation from program help
+find_program (HELP2MAN_EXECUTABLE help2man)
+if (NOT HELP2MAN_EXECUTABLE)
+	message (FATAL_ERROR "help2man not found")
+endif (NOT HELP2MAN_EXECUTABLE)
+
+foreach (page ${PROJECT_NAME})
+	set (page_output "${PROJECT_BINARY_DIR}/${page}.1")
+	list (APPEND project_MAN_PAGES "${page_output}")
+	add_custom_command (OUTPUT ${page_output}
+		COMMAND ${HELP2MAN_EXECUTABLE} -N
+			"${PROJECT_BINARY_DIR}/${page}" -o ${page_output}
+		DEPENDS ${page}
+		COMMENT "Generating man page for ${page}" VERBATIM)
+endforeach (page)
+
+add_custom_target (docs ALL DEPENDS ${project_MAN_PAGES})
+
+foreach (page ${project_MAN_PAGES})
+	string (REGEX MATCH "\\.([0-9])$" manpage_suffix "${page}")
+	install (FILES "${page}"
+		DESTINATION "${CMAKE_INSTALL_MANDIR}/man${CMAKE_MATCH_1}")
+endforeach (page)
+
 # CPack
 set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "MPD client")
 set (CPACK_PACKAGE_VENDOR "Premysl Janouch")
diff --git a/README.adoc b/README.adoc
index d6ab07c..f7ece38 100644
--- a/README.adoc
+++ b/README.adoc
@@ -28,7 +28,8 @@ https://build.opensuse.org/project/repositories/home:pjanouch:git
 
 Building and Running
 --------------------
-Build dependencies: CMake, pkg-config, liberty (included), termo (included) +
+Build dependencies: CMake, pkg-config, help2man, liberty (included),
+                    termo (included) +
 Runtime dependencies: ncursesw, libunistring, cURL
 
  $ git clone --recursive https://github.com/pjanouch/nncmpp.git
@@ -73,6 +74,10 @@ colors = {
 	selection  = "reverse"
 	scrollbar  = ""
 }
+streams = {
+	"dnbradio.com" = "http://www.dnbradio.com/hi.m3u"
+	"BassDrive.com" = "http://bassdrive.com/v2/streams/BassDrive.pls"
+}
 ....
 
 Terminal caveats
-- 
cgit v1.2.3-70-g09d2