Choose format of installed documentation based on available tools.

Can be selected using the DOCUMENTATION_FORMAT cmake variable.

Update NEWS file.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1723ccd..3455cc6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,6 +39,18 @@
 
 OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON)
 
+FIND_PROGRAM(MDOCTOOL NAMES mandoc groff)
+IF (MDOCTOOL)
+  SET(DOCUMENTATION_FORMAT "mdoc" CACHE STRING "Documentation format")
+ELSE()
+  FIND_PROGRAM(MANTOOL NAMES nroff)
+  IF (MANTOOL)
+    SET(DOCUMENTATION_FORMAT "man" CACHE STRING "Documentation format")
+  ELSE()
+    SET(DOCUMENTATION_FORMAT "html" CACHE STRING "Documentation format")
+  ENDIF()
+ENDIF()
+
 SET(PACKAGE "libzip")
 SET(PACKAGE_NAME ${PACKAGE})
 SET(PACKAGE_VERSION_MAJOR "1")
@@ -192,7 +204,7 @@
 ENDIF()
 
 IF (NOT HAVE_CRYPTO)
-  MESSAGE(WARNING "-- neither openssl nor gnutls found; AES support disabled")
+  MESSAGE(WARNING "-- neither OpenSSL nor GnuTLS found; AES support disabled")
 ENDIF()
 
 IF(MSVC)
@@ -215,7 +227,7 @@
 IF(NOT CMAKE_SYSTEM_NAME MATCHES Linux)
 	SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
 	SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-ENDIF(NOT CMAKE_SYSTEM_NAME MATCHES Linux)
+ENDIF()
 
 # Testing
 ENABLE_TESTING()
diff --git a/INSTALL.md b/INSTALL.md
index e3960c6..5db156e 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -34,6 +34,9 @@
 - `BUILD_SHARED_LIBS`: set to `ON` or `OFF` to enable/disable building
   of shared libraries, defaults to `ON`
 - `CMAKE_INSTALL_PREFIX`: for setting the installation path
+- `DOCUMENTATION_FORMAT`: choose one of 'man', 'mdoc', and 'html' for
+  the installed documentation (default: decided by cmake depending on
+  available tools)
 
 You can get verbose build output with by passing `VERBOSE=1` to `make`.
 
diff --git a/NEWS.md b/NEWS.md
index a4bc5f9..98eff26 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,3 +1,14 @@
+1.5.x [2018-xx-xx]
+==================
+
+* Choose format of installed documentation based on available tools.
+* Fix visibility of symbols.
+* Fix zipcmp directory support.
+* Don't set RPATH on Linux.
+* Use Libs.private for link dependencies in pkg-config file.
+* Fix build with LibreSSL.
+* Various bugfixes.
+
 1.5.0 [2018-03-11]
 ==================
 
diff --git a/TODO.md b/TODO.md
index 95b18c7..2a5bcf8 100644
--- a/TODO.md
+++ b/TODO.md
@@ -26,6 +26,8 @@
       - read/write: total byte count so far
 	  - state of source (opened, EOF reached, ...)
 
+* add license to generated documentation (man, html)
+
 # Later
 
 ## macOS / iOS framework
diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt
index 4f5feeb..5d7325a 100644
--- a/man/CMakeLists.txt
+++ b/man/CMakeLists.txt
@@ -97,15 +97,14 @@
   ziptool.1
 )
 
-IF(CMAKE_SYSTEM_NAME MATCHES BSD)
-  SET(MANFMT mdoc)
-ELSE()
-  SET(MANFMT man)
-ENDIF()
-
 FOREACH(MAN_PAGE ${MAN_PAGES})
-  STRING(REGEX REPLACE "[1-9]$" "${MANFMT}" SOURCE_FILE ${MAN_PAGE})
-  STRING(REGEX REPLACE ".*(.)$" "man\\1" SUBDIR ${MAN_PAGE})
+  STRING(REGEX REPLACE "[1-9]$" "${DOCUMENTATION_FORMAT}" SOURCE_FILE ${MAN_PAGE})
+  IF (DOCUMENTATION_FORMAT MATCHES "html")
+    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${MAN_PAGE} DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME ${SOURCE_FILE})
+  ELSE()
+    STRING(REGEX REPLACE ".*(.)$" "man\\1" SUBDIR ${MAN_PAGE})
+    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${MAN_PAGE} DESTINATION ${CMAKE_INSTALL_MANDIR}/${SUBDIR})
+  ENDIF()
   # CONFIGURE_FILE does not find out about updates to the sources, and it does not provide a target
   #CONFIGURE_FILE(${SOURCE_FILE} ${MAN_PAGE} COPYONLY)
   ADD_CUSTOM_COMMAND(OUTPUT ${MAN_PAGE}
@@ -113,7 +112,6 @@
     COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${MAN_PAGE}
     COMMENT "Preparing ${MAN_PAGE}"
     )
-  INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${MAN_PAGE} DESTINATION ${CMAKE_INSTALL_MANDIR}/${SUBDIR})
 
   STRING(REGEX REPLACE "[1-9]$" "html" HTML_FILE ${MAN_PAGE})
   STRING(REGEX REPLACE "[1-9]$" "man" MAN_FILE ${MAN_PAGE})
@@ -140,7 +138,13 @@
 FILE(STRINGS links MANPAGE_LINKS)
 FOREACH(LINKS_LINE ${MANPAGE_LINKS})
   IF(${LINKS_LINE} MATCHES "(.*) (.*)")
-    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_MATCH_1}.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 RENAME ${CMAKE_MATCH_2}.3)
+    SET(SOURCE ${CMAKE_MATCH_1})
+    SET(TARGET ${CMAKE_MATCH_2})
+    IF (DOCUMENTATION_FORMAT MATCHES "html")
+      INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE}.3 DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME ${TARGET}.html)
+    ELSE()
+      INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE}.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 RENAME ${TARGET}.3)
+    ENDIF()
   ENDIF()
 ENDFOREACH()