diff --git a/CMakeLists.txt b/CMakeLists.txt
index f01d1dc779e7d622e1441ee61a996b817ec1f84a..96088c8f6a3edf22f452f7b8ad26888c6259508b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -196,6 +196,11 @@ IF(KWSYS_STANDALONE)
   ENDIF()
 ENDIF()
 
+# Choose default shared/static build if not specified.
+IF(NOT DEFINED KWSYS_BUILD_SHARED)
+  SET(KWSYS_BUILD_SHARED ${BUILD_SHARED_LIBS})
+ENDIF()
+
 # Include helper macros.
 INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/kwsysPlatformTests.cmake)
 INCLUDE(CheckTypeSize)
@@ -439,11 +444,6 @@ ELSE()
   SET(KWSYS_NAME_IS_KWSYS 0)
 ENDIF()
 
-# Choose default shared/static build if not specified.
-IF(KWSYS_BUILD_SHARED MATCHES "^KWSYS_BUILD_SHARED$")
-  SET(KWSYS_BUILD_SHARED ${BUILD_SHARED_LIBS})
-ENDIF()
-
 IF(KWSYS_BUILD_SHARED)
   SET(KWSYS_BUILD_SHARED 1)
   SET(KWSYS_LIBRARY_TYPE SHARED)