config: include version and git revision

main
anna 3 years ago
parent 6ac206051a
commit a34fd6caaa
Signed by: fef
GPG Key ID: EC22E476DC2D3D84

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

@ -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…
Cancel
Save