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 "")