print build info to log and on stdout
This commit is contained in:
parent
053f5a619d
commit
dc65e4243c
|
@ -55,6 +55,12 @@ if(NOT CMAKE_BUILD_TYPE)
|
|||
endif(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
|
||||
|
||||
# Generate CMake to include build information
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/cmake/modules/SRSLTEbuildinfo.cmake.in
|
||||
${CMAKE_BINARY_DIR}/SRSLTEbuildinfo.cmake
|
||||
)
|
||||
|
||||
########################################################################
|
||||
# Options
|
||||
########################################################################
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
execute_process(
|
||||
COMMAND git rev-parse --abbrev-ref HEAD
|
||||
WORKING_DIRECTORY "@CMAKE_SOURCE_DIR@"
|
||||
OUTPUT_VARIABLE GIT_BRANCH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND git log -1 --format=%h
|
||||
WORKING_DIRECTORY "@CMAKE_SOURCE_DIR@"
|
||||
OUTPUT_VARIABLE GIT_COMMIT_HASH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
message(STATUS "Generating build_info.h")
|
||||
configure_file(
|
||||
@CMAKE_SOURCE_DIR@/lib/include/srslte/build_info.h.in
|
||||
@CMAKE_BINARY_DIR@/lib/include/srslte/build_info.h
|
||||
)
|
|
@ -0,0 +1,56 @@
|
|||
/**
|
||||
*
|
||||
* \section COPYRIGHT
|
||||
*
|
||||
* Copyright 2013-2015 Software Radio Systems Limited
|
||||
*
|
||||
* \section LICENSE
|
||||
*
|
||||
* This file is part of the srsLTE library.
|
||||
*
|
||||
* srsLTE is free software: you can redistribute it and/or modify
|
||||
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* srsLTE is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* A copy of the GNU Affero General Public License can be found in
|
||||
* the LICENSE file in the top-level directory of this distribution
|
||||
* and at http://www.gnu.org/licenses/.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BUILD_INFO_
|
||||
#define BUILD_INFO_
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
#ifdef NDEBUG
|
||||
static char build_mode[] = "Release";
|
||||
#else
|
||||
static char build_mode[] = "Debug";
|
||||
#endif
|
||||
|
||||
// the configured build options for srsLTE
|
||||
static char build_info[] = "commit @GIT_COMMIT_HASH@ on branch @GIT_BRANCH@";
|
||||
|
||||
SRSLTE_API char* srslte_get_build_info() {
|
||||
return build_info;
|
||||
};
|
||||
|
||||
SRSLTE_API char* srslte_get_build_mode() {
|
||||
return build_mode;
|
||||
}
|
||||
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif // BUILD_INFO_
|
|
@ -22,7 +22,9 @@ file(GLOB CXX_SOURCES "*.cc")
|
|||
file(GLOB C_SOURCES "*.c")
|
||||
|
||||
add_library(srslte_common STATIC ${C_SOURCES} ${CXX_SOURCES})
|
||||
add_custom_target(gen_build_info COMMAND cmake -P ${CMAKE_BINARY_DIR}/SRSLTEbuildinfo.cmake)
|
||||
add_dependencies(srslte_common gen_build_info)
|
||||
|
||||
target_include_directories(srslte_common PUBLIC ${SEC_INCLUDE_DIRS})
|
||||
target_link_libraries(srslte_common ${SEC_LIBRARIES})
|
||||
install(TARGETS srslte_common DESTINATION ${LIBRARY_DIR})
|
||||
|
||||
|
|
|
@ -32,7 +32,9 @@
|
|||
#include <string>
|
||||
#include <algorithm>
|
||||
#include <iterator>
|
||||
#include <sstream>
|
||||
#include <ue_base.h>
|
||||
#include "srslte/build_info.h"
|
||||
|
||||
using namespace srslte;
|
||||
|
||||
|
@ -51,6 +53,10 @@ ue::~ue()
|
|||
|
||||
bool ue::init(all_args_t *args_)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << "Built in " << srslte_get_build_mode() << " mode using " << srslte_get_build_info() << "." << std::endl << std::endl;
|
||||
std::cout << ss.str();
|
||||
|
||||
args = args_;
|
||||
|
||||
if (!args->log.filename.compare("stdout")) {
|
||||
|
@ -58,6 +64,7 @@ bool ue::init(all_args_t *args_)
|
|||
} else {
|
||||
logger_file.init(args->log.filename);
|
||||
logger_file.log("\n\n");
|
||||
logger_file.log(ss.str().c_str());
|
||||
logger = &logger_file;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue