Compare commits

...

5 Commits

Author SHA1 Message Date
Dennis Klein
9a8acdf6eb Enable PIC by default 2018-09-19 18:31:45 +02:00
Dennis Klein
0c2532e6b9 Reflect git version in build artifacts 2018-09-19 18:20:29 +02:00
Dennis Klein
49a6e9389d Support BUILD_SHARED_LIBS cmake variable 2018-09-19 18:19:55 +02:00
Alexey Rybalchenko
0901655a65 Update build machines 2018-07-30 19:46:30 +02:00
Alexey Rybalchenko
1f600fa981 guard localtime with a mutex to avoid race 2018-07-30 19:46:30 +02:00
5 changed files with 23 additions and 11 deletions

View File

@@ -32,7 +32,7 @@ configure_file(logger/Version.h.in
@ONLY
)
add_library(FairLogger SHARED
add_library(FairLogger
logger/Logger.cxx
logger/Logger.h
)
@@ -43,7 +43,7 @@ target_include_directories(FairLogger
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)
set_target_properties(FairLogger PROPERTIES
VERSION ${PROJECT_VERSION}
VERSION ${FairLogger_GIT_VERSION}
SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}"
)
@@ -64,6 +64,7 @@ install(TARGETS
EXPORT ${FairLogger_EXPORT_SET}
LIBRARY DESTINATION ${FairLogger_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${FairLogger_INSTALL_LIBDIR}
RUNTIME DESTINATION ${FairLogger_INSTALL_BINDIR}
)

5
Jenkinsfile vendored
View File

@@ -37,9 +37,8 @@ pipeline{
steps{
script {
parallel(buildMatrix([
[os: 'Debian8', arch: 'x86_64', compiler: 'gcc4.9', fairsoft: 'oct17'],
[os: 'MacOS10.11', arch: 'x86_64', compiler: 'AppleLLVM8.0.0', fairsoft: 'oct17'],
[os: 'MacOS10.13', arch: 'x86_64', compiler: 'AppleLLVM9.0.0', fairsoft: 'oct17'],
[os: 'Debian8', arch: 'x86_64', compiler: 'gcc4.9', fairsoft: 'may18'],
[os: 'MacOS10.13', arch: 'x86_64', compiler: 'AppleLLVM9.0.0', fairsoft: 'may18'],
]) { spec, label ->
sh '''\
echo "export BUILDDIR=$PWD/build" >> Dart.cfg

View File

@@ -35,9 +35,9 @@ pipeline{
steps{
script {
parallel(buildMatrix([
[os: 'Debian8', arch: 'x86_64', compiler: 'gcc4.9', fairsoft: 'apr18'],
[os: 'MacOS10.11', arch: 'x86_64', compiler: 'AppleLLVM8.0.0', fairsoft: 'apr18'],
[os: 'MacOS10.13', arch: 'x86_64', compiler: 'AppleLLVM9.0.0', fairsoft: 'apr18'],
[os: 'Debian8', arch: 'x86_64', compiler: 'gcc4.9', fairsoft: 'may18'],
[os: 'MacOS10.11', arch: 'x86_64', compiler: 'AppleLLVM8.0.0', fairsoft: 'may18'],
[os: 'MacOS10.13', arch: 'x86_64', compiler: 'AppleLLVM9.0.0', fairsoft: 'may18'],
]) { spec, label ->
sh '''\
echo "export BUILDDIR=$PWD/build" >> Dart.cfg

View File

@@ -125,6 +125,15 @@ macro(set_fairlogger_defaults)
# Generate compile_commands.json file (https://clang.llvm.org/docs/JSONCompilationDatabase.html)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
if(NOT BUILD_SHARED_LIBS)
set(BUILD_SHARED_LIBS ON CACHE BOOL "Whether to build shared libraries or static archives")
endif()
# Set -fPIC as default for all library types
if(NOT CMAKE_POSITION_INDEPENDENT_CODE)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
# Define CMAKE_INSTALL_*DIR family of variables
include(GNUInstallDirs)
@@ -161,7 +170,7 @@ endmacro()
macro(install_fairlogger_cmake_package)
include(CMakePackageConfigHelpers)
set(PACKAGE_INSTALL_DESTINATION
${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${FairLogger_GIT_VERSION}
)
install(EXPORT ${FairLogger_EXPORT_SET}
NAMESPACE ${PROJECT_NAME}::

View File

@@ -575,9 +575,12 @@ void Logger::RemoveCustomSink(const string& key)
Logger& Logger::Log()
{
char tsstr[32];
if (!strftime(tsstr, sizeof(tsstr), "%H:%M:%S", localtime(&(fMetaData.timestamp))))
{
tsstr[0] = 'u';
lock_guard<mutex> lock(fMtx); // localtime is not threadsafe, guard it
if (!strftime(tsstr, sizeof(tsstr), "%H:%M:%S", localtime(&(fMetaData.timestamp))))
{
tsstr[0] = 'u';
}
}
if ((!fColored && LoggingToConsole()) || LoggingToFile())