diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9ab8954b6..5b0405f4a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -793,6 +793,7 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
 
   install(DIRECTORY include/rocksdb COMPONENT devel DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
 
+  if(NOT ROCKSDB_DISABLE_INSTALL_STATIC_LIB)
   install(
     TARGETS ${ROCKSDB_STATIC_LIB}
     EXPORT RocksDBTargets
@@ -800,15 +801,23 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
     ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
     INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
   )
+  else()
+    set_target_properties(${ROCKSDB_STATIC_LIB} PROPERTIES EXCLUDE_FROM_ALL TRUE)
+  endif()
 
+  if(NOT ROCKSDB_DISABLE_INSTALL_SHARED_LIB)
   install(
     TARGETS ${ROCKSDB_SHARED_LIB}
     EXPORT RocksDBTargets
     COMPONENT runtime
     RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+    ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
     LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
     INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
   )
+  else()
+    set_target_properties(${ROCKSDB_SHARED_LIB} PROPERTIES EXCLUDE_FROM_ALL TRUE)
+  endif()
 
   install(
     EXPORT RocksDBTargets
