[cmake-commits] hoffman committed CMakeDetermineSystem.cmake 1.17 1.18

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Feb 21 10:29:38 EST 2007


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv25501

Modified Files:
	CMakeDetermineSystem.cmake 
Log Message:
ENH: better processor detection on linux


Index: CMakeDetermineSystem.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineSystem.cmake,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- CMakeDetermineSystem.cmake	14 Jun 2006 16:28:29 -0000	1.17
+++ CMakeDetermineSystem.cmake	21 Feb 2007 15:29:36 -0000	1.18
@@ -25,20 +25,25 @@
 # Ultrix                        ULTRIX  
 # cygwin                        CYGWIN_NT-5.1
 # MacOSX                        Darwin
-  
 IF(UNIX)
   FIND_PROGRAM(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
   IF(CMAKE_UNAME)
     EXEC_PROGRAM(uname ARGS -s OUTPUT_VARIABLE CMAKE_SYSTEM_NAME)
     EXEC_PROGRAM(uname ARGS -r OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
-    EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR
-      RETURN_VALUE val)
-    IF("${val}" GREATER 0)
+    IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
       EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR
         RETURN_VALUE val)
-    ENDIF("${val}" GREATER 0)
+    ELSE(CMAKE_SYSTEM_NAME MATCHES "Linux")
+      EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR
+        RETURN_VALUE val)
+      IF("${val}" GREATER 0)
+        EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR
+          RETURN_VALUE val)
+      ENDIF("${val}" GREATER 0)
+    ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+    # check the return of the last uname -m or -p 
     IF("${val}" GREATER 0)
-      SET(CMAKE_SYSTEM_PROCESSOR "unknown")
+        SET(CMAKE_SYSTEM_PROCESSOR "unknown")
     ENDIF("${val}" GREATER 0)
     SET(CMAKE_UNAME ${CMAKE_UNAME} CACHE INTERNAL "uname command")
     # processor may have double quote in the name, and that needs to be removed



More information about the Cmake-commits mailing list