diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2002-10-22 14:34:07 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2002-10-22 14:34:07 (GMT) |
commit | b1114a344fcda35984140e0bc538d32035d5310a (patch) | |
tree | 41073546fd534d065a2e3499d6f39374088fbde1 /Modules/CMakeDetermineSystem.cmake | |
parent | c1c74f925cf249e260ea94532205dc954852d7cd (diff) | |
download | CMake-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.cmake | 62 |
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) + |