--- a/Modules/CMakeDetermineSystem.cmake
+++ b/Modules/CMakeDetermineSystem.cmake
@@ -22,6 +22,7 @@
 # AIX                           AIX  
 # BSD/OS                        BSD/OS  
 # FreeBSD                       FreeBSD  
+# GNU/Hurd                      GNU  
 # HP-UX                         HP-UX  
 # IRIX                          IRIX  
 # Linux                         Linux  
@@ -50,6 +51,9 @@
     IF(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
       EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
         RETURN_VALUE val)
+    ELSEIF(CMAKE_HOST_SYSTEM_NAME STREQUAL "GNU")
+      EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE _gnu_val RETURN_VALUE val)
+      STRING(REGEX REPLACE "[-/].*$" "" CMAKE_HOST_SYSTEM_PROCESSOR "${_gnu_val}")
     ELSE(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
       EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
         RETURN_VALUE val)
