diff --git a/CMakeLists.txt b/CMakeLists.txt
index 941a3d9ec3f1b04b072dc30f0eb60d248c79153d..7ef0cbe6c5692dbacaa6ef0080d49440f41249a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -80,6 +80,7 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
   SET(KWSYS_USE_Directory 1)
   SET(KWSYS_USE_Process 1)
   SET(KWSYS_USE_RegularExpression 1)
+  SET(KWSYS_USE_Registry 1)
   SET(KWSYS_USE_SystemTools 1)
   SET(KWSYS_USE_CommandLineArguments 1)
   SET(KWSYS_USE_FundamentalType 1)
@@ -409,7 +410,8 @@ IF(KWSYS_USE_SystemTools)
 ENDIF(KWSYS_USE_SystemTools)
 
 # Add selected C++ classes.
-FOREACH(c Directory RegularExpression SystemTools CommandLineArguments)
+SET(cppclasses Directory RegularExpression SystemTools CommandLineArguments Registry)
+FOREACH(c ${cppclasses})
   IF(KWSYS_USE_${c})
     SET(KWSYS_CLASSES ${KWSYS_CLASSES} ${c})
   ENDIF(KWSYS_USE_${c})
@@ -589,6 +591,7 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
       testIOS
       testHashSTL
       testCommandLineArguments
+      testRegistry
       )
     ADD_EXECUTABLE(${test} ${test}.cxx)
     TARGET_LINK_LIBRARIES(${test} ${KWSYS_NAMESPACE})
@@ -596,6 +599,7 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
   # C tests
   FOREACH(test
       testProcess
+      testFail
       )
     ADD_EXECUTABLE(${test} ${test}.c)
     TARGET_LINK_LIBRARIES(${test} ${KWSYS_NAMESPACE}_c)
@@ -612,14 +616,19 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
         "${CMAKE_CURRENT_BINARY_DIR}/ExtraTest.cmake")
       SET_DIRECTORY_PROPERTIES(PROPERTIES TEST_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/ExtraTest.cmake")
     ENDIF(CTEST_TEST_KWSYS)
-    ADD_TEST(kwsys-testSystemTools ${EXEC_DIR}/testSystemTools)
-    ADD_TEST(kwsys-testProcess-1 ${EXEC_DIR}/testProcess 1)
-    ADD_TEST(kwsys-testProcess-2 ${EXEC_DIR}/testProcess 2)
-    ADD_TEST(kwsys-testProcess-3 ${EXEC_DIR}/testProcess 3)
-    ADD_TEST(kwsys-testProcess-4 ${EXEC_DIR}/testProcess 4)
-    ADD_TEST(kwsys-testProcess-5 ${EXEC_DIR}/testProcess 5)
-    ADD_TEST(kwsys-testProcess-6 ${EXEC_DIR}/testProcess 6)
-    ADD_TEST(kwsys-testProcess-7 ${EXEC_DIR}/testProcess 7)
-    ADD_TEST(kwsys-testHashSTL ${EXEC_DIR}/testHashSTL)
+    ADD_TEST(kwsys.testSystemTools ${EXEC_DIR}/testSystemTools)
+    ADD_TEST(kwsys.testProcess-1 ${EXEC_DIR}/testProcess 1)
+    ADD_TEST(kwsys.testProcess-2 ${EXEC_DIR}/testProcess 2)
+    ADD_TEST(kwsys.testProcess-3 ${EXEC_DIR}/testProcess 3)
+    ADD_TEST(kwsys.testProcess-4 ${EXEC_DIR}/testProcess 4)
+    ADD_TEST(kwsys.testProcess-5 ${EXEC_DIR}/testProcess 5)
+    ADD_TEST(kwsys.testProcess-6 ${EXEC_DIR}/testProcess 6)
+    ADD_TEST(kwsys.testProcess-7 ${EXEC_DIR}/testProcess 7)
+    ADD_TEST(kwsys.testHashSTL ${EXEC_DIR}/testHashSTL)
+    ADD_TEST(kwsys.testRegistry ${EXEC_DIR}/testRegistry)
+    IF(COMMAND SET_TESTS_PROPERTIES)
+      ADD_TEST(kwsys.testFail ${EXEC_DIR}/testFail)
+      SET_TESTS_PROPERTIES(kwsys.testFail PROPERTIES WILL_FAIL ON)
+    ENDIF(COMMAND SET_TESTS_PROPERTIES)
   ENDIF(BUILD_TESTING)
 ENDIF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)