summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeDetermineSystem.cmake
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2002-10-22 14:34:07 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2002-10-22 14:34:07 (GMT)
commitb1114a344fcda35984140e0bc538d32035d5310a (patch)
tree41073546fd534d065a2e3499d6f39374088fbde1 /Modules/CMakeDetermineSystem.cmake
parentc1c74f925cf249e260ea94532205dc954852d7cd (diff)
downloadCMake-b1114a344fcda35984140e0bc538d32035d5310a.zip
CMake-b1114a344fcda35984140e0bc538d32035d5310a.tar.gz
CMake-b1114a344fcda35984140e0bc538d32035d5310a.tar.bz2
new cmake based configuration
Diffstat (limited to 'Modules/CMakeDetermineSystem.cmake')
-rw-r--r--Modules/CMakeDetermineSystem.cmake62
1 files changed, 62 insertions, 0 deletions
diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
new file mode 100644
index 0000000..5a0296a
--- /dev/null
+++ b/Modules/CMakeDetermineSystem.cmake
@@ -0,0 +1,62 @@
+# This module is used by the Makefile generator to determin the following variables:
+# CMAKE_SYSTEM_NAME - on unix this is uname -s, for windows it is Windows
+# CMAKE_SYSTEM_VERSION - on unix this is uname -r, for windows it is empty
+# CMAKE_SYSTEM - ${CMAKE_SYSTEM}-${CMAKE_SYSTEM_VERSION}, for windows: ${CMAKE_SYSTEM}
+#
+# Expected uname -s output:
+#
+# AIX AIX
+# BSD/OS BSD/OS
+# FreeBSD FreeBSD
+# HP-UX HP-UX
+# IRIX IRIX
+# Linux Linux
+# NetBSD NetBSD
+# OpenBSD OpenBSD
+# OFS/1 (Digital Unix) OSF1
+# SCO OpenServer 5 SCO_SV
+# SCO UnixWare 7 UnixWare
+# SCO UnixWare (pre release 7) UNIX_SV
+# SCO XENIX Xenix
+# Solaris SunOS
+# SunOS SunOS
+# Tru64 Tru64
+# 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)
+ SET(CMAKE_UNAME ${CMAKE_UNAME} CACHE INTERNAL "uname command")
+ ENDIF(CMAKE_UNAME)
+ELSE(UNIX)
+ IF(WIN32)
+ SET (CMAKE_SYSTEM_NAME "Windows")
+ SET (CMAKE_SYSTEM_VERSION "")
+ ENDIF(WIN32)
+ENDIF(UNIX)
+
+IF(NOT CMAKE_SYSTEM_NAME)
+ SET(CMAKE_SYSTEM_NAME "UnknownOS")
+ENDIF(NOT CMAKE_SYSTEM_NAME)
+
+# fix for BSD/OS , remove the /
+IF(CMAKE_SYSTEM_NAME MATCHES BSD.OS)
+ SET(CMAKE_SYSTEM_NAME BSDOS)
+ENDIF(CMAKE_SYSTEM_NAME MATCHES BSD.OS)
+
+# fix for CYGWIN which has windows version in it
+IF(CMAKE_SYSTEM_NAME MATCHES CYGWIN)
+ SET(CMAKE_SYSTEM_NAME CYGWIN)
+ENDIF(CMAKE_SYSTEM_NAME MATCHES CYGWIN)
+
+# set CMAKE_SYSTEM to the CMAKE_SYSTEM_NAME
+SET(CMAKE_SYSTEM ${CMAKE_SYSTEM_NAME})
+# if there is a CMAKE_SYSTEM_VERSION then add a -${CMAKE_SYSTEM_VERSION}
+IF(CMAKE_SYSTEM_VERSION)
+ SET(CMAKE_SYSTEM ${CMAKE_SYSTEM}-${CMAKE_SYSTEM_VERSION})
+ENDIF(CMAKE_SYSTEM_VERSION)
+