Add option to disable installation by setting LIBZIP_DO_INSTALL to OFF.

Requested by Tomáš Malý in #180.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 430c272..d1630e0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -61,6 +61,7 @@
 ENDIF()
 
 OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON)
+OPTION(LIBZIP_DO_INSTALL "Install libzip and the related files" ON)
 
 OPTION(SHARED_LIB_VERSIONNING "Add SO version in .so build" ON)
 
@@ -345,7 +346,9 @@
   set(LIBS "${LIBS} -l${LIB}")
 endforeach()
 CONFIGURE_FILE(libzip.pc.in libzip.pc @ONLY)
-INSTALL(FILES ${PROJECT_BINARY_DIR}/libzip.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+IF(LIBZIP_DO_INSTALL)
+  INSTALL(FILES ${PROJECT_BINARY_DIR}/libzip.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ENDIF()
 
 # fixed size integral types
 
@@ -476,19 +479,22 @@
   INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libzip
   PATH_VARS CMAKE_INSTALL_BINDIR CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR)
 
-INSTALL(EXPORT ${PROJECT_NAME}-targets
-  FILE ${PROJECT_NAME}-targets.cmake
-  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
-  )
+IF(LIBZIP_DO_INSTALL)
+  INSTALL(EXPORT ${PROJECT_NAME}-targets
+    FILE ${PROJECT_NAME}-targets.cmake
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
+    )
+ENDIF()
 
 # Add targets to the build-tree export set
 EXPORT(TARGETS zip
   FILE "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-targets.cmake")
 
 # installation
-
-INSTALL(FILES ${PROJECT_BINARY_DIR}/zipconf.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-INSTALL(FILES ${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake ${PROJECT_BINARY_DIR}/${PROJECT_NAME}-version.cmake
-  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
-  )
+IF(LIBZIP_DO_INSTALL)
+  INSTALL(FILES ${PROJECT_BINARY_DIR}/zipconf.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+  INSTALL(FILES ${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake ${PROJECT_BINARY_DIR}/${PROJECT_NAME}-version.cmake
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
+    )
+ENDIF()
 
diff --git a/INSTALL.md b/INSTALL.md
index 14e4469..74e3e79 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -42,6 +42,9 @@
 - `DOCUMENTATION_FORMAT`: choose one of 'man', 'mdoc', and 'html' for
   the installed documentation (default: decided by cmake depending on
   available tools)
+- `LIBZIP_DO_INSTALL`: If you include libzip as a subproject, link it
+  statically and do not want to let it install its files, set this
+  variable to `OFF`. Defaults to `ON`.
   
 If you want to compile with custom `CFLAGS`, set them in the environment
 before running `cmake`:
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 38fab2f..a68360c 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -1,6 +1,8 @@
 INCLUDE(CheckFunctionExists)
 
-INSTALL(FILES zip.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+IF(LIBZIP_DO_INSTALL)
+  INSTALL(FILES zip.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ENDIF()
 
 SET(CMAKE_C_VISIBILITY_PRESET hidden)
 
@@ -215,9 +217,11 @@
 
 TARGET_LINK_LIBRARIES(zip PRIVATE ${ZLIB_LIBRARIES} ${OPTIONAL_LIBRARY})
 
-INSTALL(TARGETS zip
-  EXPORT ${PROJECT_NAME}-targets
-  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-  INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+IF(LIBZIP_DO_INSTALL)
+  INSTALL(TARGETS zip
+    EXPORT ${PROJECT_NAME}-targets
+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ENDIF()
diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt
index e3b8dc0..5290f88 100644
--- a/man/CMakeLists.txt
+++ b/man/CMakeLists.txt
@@ -102,11 +102,13 @@
 
 FOREACH(MAN_PAGE ${MAN_PAGES})
   STRING(REGEX REPLACE "[1-9]$" "${DOCUMENTATION_FORMAT}" SOURCE_FILE ${MAN_PAGE})
-  IF (DOCUMENTATION_FORMAT MATCHES "html")
-    INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${MAN_PAGE} DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME ${SOURCE_FILE})
-  ELSE()
-    STRING(REGEX REPLACE ".*(.)$" "man\\1" SUBDIR ${MAN_PAGE})
-    INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${MAN_PAGE} DESTINATION ${CMAKE_INSTALL_MANDIR}/${SUBDIR})
+  IF(LIBZIP_DO_INSTALL)
+    IF (DOCUMENTATION_FORMAT MATCHES "html")
+      INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${MAN_PAGE} DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME ${SOURCE_FILE})
+    ELSE()
+      STRING(REGEX REPLACE ".*(.)$" "man\\1" SUBDIR ${MAN_PAGE})
+      INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${MAN_PAGE} DESTINATION ${CMAKE_INSTALL_MANDIR}/${SUBDIR})
+    ENDIF()
   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)
@@ -143,10 +145,12 @@
   IF(${LINKS_LINE} MATCHES "(.*) (.*)")
     SET(SOURCE ${CMAKE_MATCH_1})
     SET(TARGET ${CMAKE_MATCH_2})
-    IF (DOCUMENTATION_FORMAT MATCHES "html")
-      INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${SOURCE}.3 DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME ${TARGET}.html)
-    ELSE()
-      INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${SOURCE}.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 RENAME ${TARGET}.3)
+    IF(LIBZIP_DO_INSTALL)
+      IF (DOCUMENTATION_FORMAT MATCHES "html")
+	INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${SOURCE}.3 DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME ${TARGET}.html)
+      ELSE()
+	INSTALL(FILES ${PROJECT_BINARY_DIR}/man/${SOURCE}.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 RENAME ${TARGET}.3)
+      ENDIF()
     ENDIF()
   ENDIF()
 ENDFOREACH()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index dff9619..78135d9 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -7,12 +7,18 @@
 
 ADD_EXECUTABLE(zipcmp zipcmp.c ${SRC_EXTRA_FILES})
 TARGET_LINK_LIBRARIES(zipcmp zip ${FTS_LIB} ${ZLIB_LIBRARIES})
-INSTALL(TARGETS zipcmp EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+IF(LIBZIP_DO_INSTALL)
+  INSTALL(TARGETS zipcmp EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ENDIF()
 
 ADD_EXECUTABLE(zipmerge zipmerge.c ${SRC_EXTRA_FILES})
 TARGET_LINK_LIBRARIES(zipmerge zip)
-INSTALL(TARGETS zipmerge EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+IF(LIBZIP_DO_INSTALL)
+  INSTALL(TARGETS zipmerge EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ENDIF()
 
 ADD_EXECUTABLE(ziptool ziptool.c ${SRC_EXTRA_FILES})
 TARGET_LINK_LIBRARIES(ziptool zip)
-INSTALL(TARGETS ziptool EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+IF(LIBZIP_DO_INSTALL)
+  INSTALL(TARGETS ziptool EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ENDIF()