Created
April 18, 2012 12:47
-
-
Save lbaehren/2413369 to your computer and use it in GitHub Desktop.
Identification of operating system @ CMake
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if (UNIX) | |
if (APPLE) | |
set (CMAKE_OS_NAME "OSX" CACHE STRING "Operating system name" FORCE) | |
else (APPLE) | |
## Check for Debian GNU/Linux ________________ | |
find_file (DEBIAN_FOUND debian_version debconf.conf | |
PATHS /etc | |
) | |
if (DEBIAN_FOUND) | |
set (CMAKE_OS_NAME "Debian" CACHE STRING "Operating system name" FORCE) | |
endif (DEBIAN_FOUND) | |
## Check for Fedora _________________________ | |
find_file (FEDORA_FOUND fedora-release | |
PATHS /etc | |
) | |
if (FEDORA_FOUND) | |
set (CMAKE_OS_NAME "Fedora" CACHE STRING "Operating system name" FORCE) | |
endif (FEDORA_FOUND) | |
## Check for RedHat _________________________ | |
find_file (REDHAT_FOUND redhat-release inittab.RH | |
PATHS /etc | |
) | |
if (REDHAT_FOUND) | |
set (CMAKE_OS_NAME "RedHat" CACHE STRING "Operating system name" FORCE) | |
endif (REDHAT_FOUND) | |
## Extra check for Ubuntu ____________________ | |
if (DEBIAN_FOUND) | |
## At its core Ubuntu is a Debian system, with | |
## a slightly altered configuration; hence from | |
## a first superficial inspection a system will | |
## be considered as Debian, which signifies an | |
## extra check is required. | |
find_file (UBUNTU_EXTRA legal issue | |
PATHS /etc | |
) | |
if (UBUNTU_EXTRA) | |
## Scan contents of file | |
file (STRINGS ${UBUNTU_EXTRA} UBUNTU_FOUND | |
REGEX Ubuntu | |
) | |
## Check result of string search | |
if (UBUNTU_FOUND) | |
set (CMAKE_OS_NAME "Ubuntu" CACHE STRING "Operating system name" FORCE) | |
set (DEBIAN_FOUND FALSE) | |
endif (UBUNTU_FOUND) | |
endif (UBUNTU_EXTRA) | |
endif (DEBIAN_FOUND) | |
endif (APPLE) | |
endif (UNIX) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment