Добавлена сборка в пакет для Debian дистрибутива
This commit is contained in:
parent
a74579d709
commit
2ad04b4603
15 changed files with 610 additions and 0 deletions
24
cmake/snag_git.cmake
Normal file
24
cmake/snag_git.cmake
Normal file
|
@ -0,0 +1,24 @@
|
|||
cmake_minimum_required(VERSION 3.6)
|
||||
|
||||
if(DEFINED ENV{CI_COMMIT_BRANCH})
|
||||
string(REGEX REPLACE ".*/" "" GIT_BRANCH $ENV{CI_COMMIT_BRANCH})
|
||||
string(REPLACE "_" "-" GIT_BRANCH ${GIT_BRANCH})
|
||||
if(NOT GIT_BRANCH STREQUAL "stable")
|
||||
set(GIT_VERSION_SUFFIX "${GIT_BRANCH}-")
|
||||
else()
|
||||
set(GIT_VERSION_SUFFIX "")
|
||||
endif()
|
||||
else()
|
||||
set(GIT_BRANCH "dev")
|
||||
set(GIT_VERSION_SUFFIX "${GIT_BRANCH}-")
|
||||
endif()
|
||||
|
||||
if(DEFINED ENV{CI_COMMIT_SHORT_SHA})
|
||||
set(GIT_TAG $ENV{CI_COMMIT_SHORT_SHA})
|
||||
else()
|
||||
set(GIT_TAG "0000000")
|
||||
endif()
|
||||
|
||||
set(GIT_VERSION_SUFFIX "${GIT_VERSION_SUFFIX}${GIT_TAG}")
|
||||
MESSAGE(STATUS "GIT_VERSION_SUFFIX: ${GIT_VERSION_SUFFIX}")
|
||||
MESSAGE(STATUS "")
|
26
cmake/snag_patch.cmake
Normal file
26
cmake/snag_patch.cmake
Normal file
|
@ -0,0 +1,26 @@
|
|||
cmake_minimum_required(VERSION 3.6)
|
||||
|
||||
find_program(PATCH_EXECUTABLE patch)
|
||||
if(NOT PATCH_EXECUTABLE)
|
||||
message(FATAL_ERROR "Patch utility not found! Install patch tool before continuing.")
|
||||
endif()
|
||||
|
||||
set(PATCH_FILE "${CMAKE_SOURCE_DIR}/patches/config.patch")
|
||||
set(PATCH_MARKER_FILE "${CMAKE_BINARY_DIR}/.config_patch_applied")
|
||||
|
||||
if(NOT EXISTS "${PATCH_FILE}")
|
||||
message(WARNING "Patch file not found: ${PATCH_FILE}")
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT "${PATCH_MARKER_FILE}"
|
||||
COMMAND "${PATCH_EXECUTABLE}" -p1 -i "${PATCH_FILE}" --reject-file=- --silent || exit 0
|
||||
COMMAND cmake -E touch "${PATCH_MARKER_FILE}"
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
COMMENT "Applying config.patch..."
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_target(apply_config_patch
|
||||
DEPENDS "${PATCH_MARKER_FILE}"
|
||||
)
|
59
cmake/snag_platforms.cmake
Normal file
59
cmake/snag_platforms.cmake
Normal file
|
@ -0,0 +1,59 @@
|
|||
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 "")
|
Loading…
Add table
Add a link
Reference in a new issue