Moved to boost logging

This commit is contained in:
Blue 2025-05-04 20:07:11 +03:00
parent a1ec9f731d
commit 58020fb3ba
Signed by: blue
GPG key ID: 9B203B252A63EE38
27 changed files with 531 additions and 294 deletions

View file

@ -4,14 +4,14 @@ project(jay
LANGUAGES CXX
)
# Build type options
option(JAY_ENABLE_ASAN "Enable Address Sanitizer" OFF)
option(JAY_ENABLE_UBSAN "Enable Undefined Behavior Sanitizer" OFF)
option(JAY_ENABLE_TSAN "Enable Thread Sanitizer" OFF)
option(JAY_ENABLE_STRICT "Enable strict compiler warnings" OFF)
option(JAY_ENABLE_LTO "Enable Link Time Optimization" OFF)
# Set default build type if not specified
option(JAY_ENABLE_STATIC_ANALYSIS "Enable static analysis during build" OFF)
option(JAY_ENABLE_COVERAGE "Enable coverage reporting" OFF)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build (Debug/Release)" FORCE)
endif()
@ -21,6 +21,7 @@ message(STATUS "Compiler: ${CMAKE_CXX_COMPILER_ID}")
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
add_compile_options(
@ -29,7 +30,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
-Wpedantic
)
if(JAY_ENABLE_STRICT)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
add_compile_options(
-Werror
-Wconversion
@ -40,10 +41,9 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
-Woverloaded-virtual
-Wsign-conversion
-Wnull-dereference
-fno-omit-frame-pointer
)
endif()
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
add_compile_options(-O0 -g3 -ggdb)
endif()
@ -52,7 +52,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
endif()
if(JAY_ENABLE_ASAN)
add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
add_compile_options(-fsanitize=address)
add_link_options(-fsanitize=address)
endif()
@ -67,7 +67,6 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
endif()
endif()
# Link Time Optimization
if(JAY_ENABLE_LTO)
include(CheckIPOSupported)
check_ipo_supported(RESULT supported OUTPUT error)
@ -79,12 +78,29 @@ if(JAY_ENABLE_LTO)
endif()
endif()
if(JAY_ENABLE_STATIC_ANALYSIS)
find_program(CLANG_TIDY NAMES clang-tidy)
if(CLANG_TIDY)
set(CMAKE_CXX_CLANG_TIDY ${CLANG_TIDY})
endif()
endif()
if(JAY_ENABLE_COVERAGE)
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
add_compile_options(--coverage)
add_link_options(--coverage)
endif()
endif()
cmake_policy(SET CMP0076 NEW)
cmake_policy(SET CMP0167 NEW) #FindBoost
find_package(PkgConfig REQUIRED)
pkg_search_module(GLOOX REQUIRED gloox)
find_package(Threads REQUIRED)
find_package(yaml-cpp REQUIRED)
find_package(Boost REQUIRED COMPONENTS log log_setup thread system)
pkg_search_module(GLOOX REQUIRED gloox)
pkg_check_modules(UUID REQUIRED uuid)