1
0
Эх сурвалжийг харах

Use 'uname -m' for processor on Cygwin (#10774)

POSIX requires 'uname -m' but not 'uname -p':

  http://www.opengroup.org/onlinepubs/9699919799/utilities/uname.html

Indeed Cygwin 'uname -p' returns "unknown".
Yaakov Selkowitz 15 жил өмнө
parent
commit
2412d9bc0e

+ 3 - 3
Modules/CMakeDetermineSystem.cmake

@@ -47,17 +47,17 @@ IF(CMAKE_HOST_UNIX)
   IF(CMAKE_UNAME)
     EXEC_PROGRAM(uname ARGS -s OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_NAME)
     EXEC_PROGRAM(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION)
-    IF(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
+    IF(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*")
       EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
         RETURN_VALUE val)
-    ELSE(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
+    ELSE(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*")
       EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
         RETURN_VALUE val)
       IF("${val}" GREATER 0)
         EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
           RETURN_VALUE val)
       ENDIF("${val}" GREATER 0)
-    ENDIF(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
+    ENDIF(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*")
     # check the return of the last uname -m or -p 
     IF("${val}" GREATER 0)
         SET(CMAKE_HOST_SYSTEM_PROCESSOR "unknown")