59 lines
2.4 KiB
CMake
59 lines
2.4 KiB
CMake
cmake_minimum_required (VERSION 3.6)
|
|
|
|
if (NOT WIN32)
|
|
set (OS_RELEASE_FILE "/etc/os-release")
|
|
file(STRINGS ${OS_RELEASE_FILE} OS_RELEASE)
|
|
else ()
|
|
list(APPEND OS_RELEASE "ID=${CMAKE_SYSTEM_NAME}")
|
|
endif ()
|
|
|
|
foreach(_line IN LISTS OS_RELEASE)
|
|
if (_line STREQUAL "")
|
|
continue()
|
|
endif()
|
|
string(REPLACE "=" ";" _pair "${_line}")
|
|
list(GET _pair 0 _name)
|
|
list(GET _pair 1 _value)
|
|
set(OS_RELEASE_${_name} ${_value})
|
|
endforeach()
|
|
|
|
if (${OS_RELEASE_ID} MATCHES "altlinux")
|
|
string(REGEX REPLACE "[\"\.]" "" alt_branch_id ${OS_RELEASE_ALT_BRANCH_ID})
|
|
set (OS_RELEASE_VERSION_CODENAME "${alt_branch_id}")
|
|
elseif (${OS_RELEASE_ID} MATCHES "astra")
|
|
#string(REGEX REPLACE "_x86-64$" "" _version ${OS_RELEASE_VERSION_CODENAME})
|
|
file(STRINGS "/etc/astra_version" _version)
|
|
string(REGEX REPLACE "\\.|\t|\n|\r" "" _version ${_version})
|
|
set (OS_RELEASE_VERSION_CODENAME "${OS_RELEASE_VERSION_CODENAME}")
|
|
if (${OS_RELEASE_VERSION_CODENAME} MATCHES "4.7_arm")
|
|
set (OS_RELEASE_VERSION_CODENAME "astra47")
|
|
elseif (NOT ${OS_RELEASE_VERSION_CODENAME} MATCHES "orel")
|
|
set (OS_RELEASE_VERSION_CODENAME "${OS_RELEASE_ID}${_version}")
|
|
else ()
|
|
set (OS_RELEASE_VERSION_CODENAME "${OS_RELEASE_VERSION_CODENAME}")
|
|
endif()
|
|
elseif (${OS_RELEASE_ID} MATCHES "debian")
|
|
set (OS_RELEASE_VERSION_CODENAME "${OS_RELEASE_VERSION_CODENAME}")
|
|
elseif (${OS_RELEASE_ID} MATCHES "centos")
|
|
string(REGEX REPLACE "[\"\.]" "" version_id ${OS_RELEASE_VERSION_ID})
|
|
set (OS_RELEASE_VERSION_CODENAME "el${version_id}")
|
|
elseif (${OS_RELEASE_ID} MATCHES "fedora")
|
|
set (OS_RELEASE_VERSION_CODENAME "f${OS_RELEASE_VERSION_ID}")
|
|
elseif (${OS_RELEASE_ID} MATCHES "freebsd")
|
|
set (OS_RELEASE_VERSION_CODENAME "${OS_RELEASE_NAME}")
|
|
elseif (${OS_RELEASE_ID} MATCHES "msys2")
|
|
set (OS_RELEASE_VERSION_CODENAME "${OS_RELEASE_ID}")
|
|
elseif (${OS_RELEASE_ID} MATCHES "ubuntu")
|
|
set (OS_RELEASE_VERSION_CODENAME "${OS_RELEASE_UBUNTU_CODENAME}")
|
|
elseif (${OS_RELEASE_ID} MATCHES "sberlinux")
|
|
string(REGEX REPLACE "[\"\.]" "" version_id ${OS_RELEASE_VERSION_ID})
|
|
set (OS_RELEASE_VERSION_CODENAME "sl${version_id}")
|
|
elseif (${OS_RELEASE_ID} MATCHES "Windows")
|
|
set (OS_RELEASE_VERSION_CODENAME "win")
|
|
else ()
|
|
set (OS_RELEASE_VERSION_CODENAME "")
|
|
endif()
|
|
|
|
MESSAGE(STATUS "OS_RELEASE_ID: ${OS_RELEASE_ID}")
|
|
MESSAGE(STATUS "OS_RELEASE_VERSION_CODENAME: ${OS_RELEASE_VERSION_CODENAME}")
|
|
MESSAGE(STATUS "")
|