summaryrefslogtreecommitdiffstats
path: root/cmake/version.cmake
blob: 07483af85ef64747a2974e12f8fb81f05cb434f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# SPDX-License-Identifier: GPL-2.0
#
# CMake macros to get version numbers
# Copyright (C) 2020 Manuel Bentele <development@manuel-bentele.de>
#

# macro to get Linux kernel version from KERNEL_BUILD_DIR
macro(get_kernel_version LINUX_KERNEL_VERSION KERNEL_BUILD_DIR)
    string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" LINUX_KERNEL_VERSION ${KERNEL_BUILD_DIR})
    if(LINUX_KERNEL_VERSION STREQUAL "")
        set(LINUX_KERNEL_VERSION "unknown")
    endif()
endmacro(get_kernel_version)

# macro to get short hash of latest commit
macro(get_repository_version REPOSITORY_VERSION)
    execute_process(COMMAND git rev-parse --short HEAD
                    OUTPUT_VARIABLE SHORT_HASH_RESULT
                    OUTPUT_STRIP_TRAILING_WHITESPACE)
    string(REGEX MATCH "[0-9a-fA-F]+" REPOSITORY_VERSION ${SHORT_HASH_RESULT})
endmacro(get_repository_version)