CMakeLists: allow disabling 'make install' rules

cmake -DRE2_INSTALL=OFF does not write out install targets in the Makefile.

Fixes #571.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 81b4af2..d6ae962 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -31,6 +31,10 @@
 option(RE2_BENCHMARK "build RE2 benchmarks" OFF)
 option(RE2_BUILD_TESTING "build and run RE2 tests; build RE2 benchmarks" OFF)
 
+# RE2_INSTALL (which defaults to ON) controls whether the installation
+# rules are generated.
+option(RE2_INSTALL "install RE2" ON)
+
 # The pkg-config Requires: field.
 set(REQUIRES)
 
@@ -246,32 +250,34 @@
   endif()
 endif()
 
-install(TARGETS re2
-        EXPORT re2Targets
-        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-        FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
-        PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/re2
-        INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-install(EXPORT re2Targets
-        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2
-        NAMESPACE re2::)
+if(RE2_INSTALL)
+  install(TARGETS re2
+          EXPORT re2Targets
+          ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+          LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+          RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+          FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
+          PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/re2
+          INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+  install(EXPORT re2Targets
+          DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2
+          NAMESPACE re2::)
 
-configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/re2Config.cmake.in
-                              ${CMAKE_CURRENT_BINARY_DIR}/re2Config.cmake
-                              INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2)
-write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/re2ConfigVersion.cmake
-                                 VERSION ${SONAME}.0.0
-                                 COMPATIBILITY SameMajorVersion)
+  configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/re2Config.cmake.in
+                                ${CMAKE_CURRENT_BINARY_DIR}/re2Config.cmake
+                                INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2)
+  write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/re2ConfigVersion.cmake
+                                   VERSION ${SONAME}.0.0
+                                   COMPATIBILITY SameMajorVersion)
 
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2Config.cmake
-              ${CMAKE_CURRENT_BINARY_DIR}/re2ConfigVersion.cmake
-        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2)
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2Config.cmake
+                ${CMAKE_CURRENT_BINARY_DIR}/re2ConfigVersion.cmake
+          DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2)
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/re2.pc.in
-               ${CMAKE_CURRENT_BINARY_DIR}/re2.pc
-               @ONLY)
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/re2.pc.in
+                 ${CMAKE_CURRENT_BINARY_DIR}/re2.pc
+                 @ONLY)
 
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2.pc
-        DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2.pc
+          DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+endif()