[libcxx] Remove installation rules on Darwin when it would overwrite the system installation.

Summary:
On Mac OS X overwriting `/usr/lib/libc++.dylib` can cause your computer to fail to boot. This patch tries to make it harder to do that accidentally. 

If `CMAKE_SYSTEM_NAME` is `Darwin` and `CMAKE_INSTALL_PREFIX` is `/usr` don't generate installation rules unless the user explicitly provides `LIBCXX_OVERRIDE_DARWIN_INSTALL=ON`. Note that `CMAKE_INSTALL_PREFIX` is always absolute so we don't need to worry about things like `/usr/../usr`.

Reviewers: mclow.lists, beanz, jroelofs

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D12209

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@246070 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 0c83f05..8be050b 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -133,15 +133,18 @@
     SOVERSION     "1"
   )
 
-install(TARGETS cxx
-  LIBRARY DESTINATION lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT libcxx
-  ARCHIVE DESTINATION lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT libcxx
-  )
+if (LIBCXX_INSTALL_LIBRARY)
+  install(TARGETS cxx
+    LIBRARY DESTINATION lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT libcxx
+    ARCHIVE DESTINATION lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT libcxx
+    )
+endif()
 
-if (NOT CMAKE_CONFIGURATION_TYPES)
-  add_custom_target(install-libcxx
-                    DEPENDS cxx
-                    COMMAND "${CMAKE_COMMAND}"
-                    -DCMAKE_INSTALL_COMPONENT=libcxx
-                    -P "${LIBCXX_BINARY_DIR}/cmake_install.cmake")
+if (NOT CMAKE_CONFIGURATION_TYPES AND (LIBCXX_INSTALL_LIBRARY OR
+                                       LIBCXX_INSTALL_HEADERS))
+    add_custom_target(install-libcxx
+                      DEPENDS cxx
+                      COMMAND "${CMAKE_COMMAND}"
+                      -DCMAKE_INSTALL_COMPONENT=libcxx
+                      -P "${LIBCXX_BINARY_DIR}/cmake_install.cmake")
 endif()