diff --git a/CMakeLists.txt b/CMakeLists.txt
index 405a140923e80cd91b25c2edc945a285b25372bb..6a15831630f47156c318f8c775a5dd6a4ffd4b55 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -329,12 +329,14 @@ ENDFOREACH(h)
 
 #-----------------------------------------------------------------------------
 # Add the library with the configured name and list of sources.
-ADD_LIBRARY(${KWSYS_NAMESPACE} ${KWSYS_LIBRARY_TYPE} ${KWSYS_SRCS})
-
-# Create an install target for the library.
-IF(KWSYS_LIBRARY_INSTALL_DIR)
-  INSTALL_TARGETS(${KWSYS_LIBRARY_INSTALL_DIR} ${KWSYS_NAMESPACE})
-ENDIF(KWSYS_LIBRARY_INSTALL_DIR)
+IF(KWSYS_SRCS)
+  ADD_LIBRARY(${KWSYS_NAMESPACE} ${KWSYS_LIBRARY_TYPE} ${KWSYS_SRCS})
+
+  # Create an install target for the library.
+  IF(KWSYS_LIBRARY_INSTALL_DIR)
+    INSTALL_TARGETS(${KWSYS_LIBRARY_INSTALL_DIR} ${KWSYS_NAMESPACE})
+  ENDIF(KWSYS_LIBRARY_INSTALL_DIR)
+ENDIF(KWSYS_SRCS)
 
 # For building kwsys itself, we use a macro defined on the command
 # line to configure the namespace in the C and C++ source files.