config: include version and git revision
This commit is contained in:
parent
6ac206051a
commit
a34fd6caaa
3 changed files with 48 additions and 0 deletions
|
@ -10,6 +10,8 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
|
|||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
endif()
|
||||
|
||||
include(cmake/git.cmake)
|
||||
|
||||
include(cmake/config.cmake)
|
||||
configure_file(
|
||||
"${CMAKE_SOURCE_DIR}/include/gay/config.h.in"
|
||||
|
|
28
cmake/git.cmake
Normal file
28
cmake/git.cmake
Normal file
|
@ -0,0 +1,28 @@
|
|||
# See the end of this file for copyright and license terms.
|
||||
|
||||
find_package(Git QUIET)
|
||||
if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE gaybsd_GIT_REVISION
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
if (NOT "${gaybsd_GIT_REVISION}" STREQUAL "")
|
||||
set(gaybsd_VERSION_SUFFIX "-${gaybsd_GIT_REVISION}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# This file is part of GayBSD.
|
||||
# Copyright (c) 2021 fef <owo@fef.moe>.
|
||||
#
|
||||
# GayBSD is nonviolent software: you may only use, redistribute, and/or
|
||||
# modify it under the terms of the Cooperative Nonviolent Public License
|
||||
# (CNPL) as found in the LICENSE file in the source code root directory
|
||||
# or at <https://git.pixie.town/thufie/npl-builder>; either version 7
|
||||
# of the license, or (at your option) any later version.
|
||||
#
|
||||
# GayBSD comes with ABSOLUTELY NO WARRANTY, to the extent
|
||||
# permitted by applicable law. See the CNPL for details.
|
|
@ -1,7 +1,25 @@
|
|||
/* See the end of this file for copyright and license terms. */
|
||||
|
||||
/**
|
||||
* @file include/gay/config.h
|
||||
* @brief Kernel configuration header.
|
||||
* This header file contains all architecture independent configuration options
|
||||
* for GayBSD, as defined in `cmake/config.cmake`.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define GAY_VERSION_MAJOR @gaybsd_VERSION_MAJOR@
|
||||
#define GAY_VERSION_MINOR @gaybsd_VERSION_MINOR@
|
||||
#define GAY_VERSION_PATCH @gaybsd_VERSION_PATCH@
|
||||
#define GAY_VERSION ( \
|
||||
(unsigned long)GAY_VERSION_MAJOR << 24 | \
|
||||
(unsigned long)GAY_VERSION_MINOR << 16 | \
|
||||
(unsigned long)GAY_VERSION_PATCH \
|
||||
)
|
||||
#define GAY_VERSION_STR \
|
||||
"@gaybsd_VERSION_MAJOR@.@gaybsd_VERSION_MINOR@.@gaybsd_VERSION_PATCH@@gaybsd_VERSION_SUFFIX@"
|
||||
|
||||
/** @brief Physical address where the kernel is loaded */
|
||||
#define CFG_KERNEL_ORIGIN @KERNEL_ORIGIN@
|
||||
|
||||
|
|
Loading…
Reference in a new issue