From c6213aa1ef77d405393adb573b9cb05972b310af Mon Sep 17 00:00:00 2001 From: Gordon McCann Date: Wed, 15 Dec 2021 15:48:43 -0500 Subject: [PATCH] Fixed issue with pch; in CMake do not include header, CMake force includes it. Added spdlog submodule, Logger class, beginning process of replacing all bland io with spdlog --- .gitmodules | 3 +++ CMakeLists.txt | 3 ++- src/CMakeLists.txt | 10 ++++++++-- src/EventBuilder.h | 3 +++ src/evb/ChannelMap.cpp | 1 - src/evb/CompassFile.cpp | 3 +-- src/evb/CompassRun.cpp | 1 - src/evb/CutHandler.cpp | 1 - src/evb/EVBApp.cpp | 1 - src/evb/FP_kinematics.cpp | 1 - src/evb/FastSort.cpp | 1 - src/evb/FlagHandler.cpp | 1 - src/evb/Logger.cpp | 15 +++++++++++++++ src/evb/Logger.h | 26 ++++++++++++++++++++++++++ src/evb/MassLookup.cpp | 1 - src/evb/OrderChecker.cpp | 1 - src/evb/RunCollector.cpp | 1 - src/evb/SFPAnalyzer.cpp | 1 - src/evb/SFPPlotter.cpp | 1 - src/evb/ShiftMap.cpp | 1 - src/evb/SlowSort.cpp | 1 - src/evb/Stopwatch.cpp | 1 - src/gui_main.cpp | 1 - src/guidict/CMakeLists.txt | 3 ++- src/guidict/EVBMainFrame.cpp | 1 - src/guidict/FileViewFrame.cpp | 1 - src/main.cpp | 9 ++++----- src/spsdict/CMakeLists.txt | 3 ++- src/spsdict/DataStructs.cpp | 1 - vendor/spdlog | 1 + 30 files changed, 67 insertions(+), 31 deletions(-) create mode 100644 .gitmodules create mode 100644 src/evb/Logger.cpp create mode 100644 src/evb/Logger.h create mode 160000 vendor/spdlog diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..18a8e2a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "vendor/spdlog"] + path = vendor/spdlog + url = https://github.com/gabime/spdlog.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d9987c..eaeb68d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,7 @@ endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") -set(PCH_DIR ${CMAKE_CURRENT_LIST_DIR}/src/) +set(PCH_DIR ${CMAKE_CURRENT_LIST_DIR}/src) +add_subdirectory(vendor/spdlog) add_subdirectory(src) \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a246a7f..6d74707 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -38,9 +38,11 @@ target_sources(EventBuilder evb/Stopwatch.h evb/ShiftMap.cpp evb/ShiftMap.h + evb/Logger.h + evb/Logger.cpp spsdict/DataStructs.h ) -target_include_directories(EventBuilder PUBLIC ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/evb ${CMAKE_CURRENT_LIST_DIR}/spsdict) +target_include_directories(EventBuilder PUBLIC ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/evb ${CMAKE_CURRENT_LIST_DIR}/spsdict ${SPDLOG_INCLUDE}) target_precompile_headers(EventBuilder PUBLIC ${PCH_DIR}/EventBuilder.h) target_link_libraries(EventBuilder PUBLIC @@ -65,6 +67,7 @@ target_link_libraries(EventBuilder ROOT::Thread ROOT::TreePlayer ROOT::Tree + spdlog::spdlog ) @@ -105,11 +108,13 @@ target_sources(EventBuilderGui evb/Stopwatch.h evb/ShiftMap.cpp evb/ShiftMap.h + evb/Logger.h + evb/Logger.cpp spsdict/DataStructs.h guidict/EVBMainFrame.h guidict/FileViewFrame.h ) -target_include_directories(EventBuilderGui PUBLIC ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/evb ${CMAKE_CURRENT_LISTDIR}/spsdict ${CMAKE_CURRENT_LIST_DIR}/guidict) +target_include_directories(EventBuilderGui PUBLIC ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/evb ${CMAKE_CURRENT_LISTDIR}/spsdict ${CMAKE_CURRENT_LIST_DIR}/guidict ${SPDLOG_INCLUDE}) target_precompile_headers(EventBuilderGui REUSE_FROM EventBuilder) target_link_libraries(EventBuilderGui PUBLIC @@ -135,6 +140,7 @@ target_link_libraries(EventBuilderGui ROOT::Thread ROOT::TreePlayer ROOT::Tree + spdlog::spdlog ) install(TARGETS EventBuilder EventBuilderGui RUNTIME DESTINATION bin) \ No newline at end of file diff --git a/src/EventBuilder.h b/src/EventBuilder.h index f98bc01..2232734 100644 --- a/src/EventBuilder.h +++ b/src/EventBuilder.h @@ -25,5 +25,8 @@ #include #include +//Mine +#include "evb/Logger.h" + #endif diff --git a/src/evb/ChannelMap.cpp b/src/evb/ChannelMap.cpp index fcbdc8d..943ba0b 100644 --- a/src/evb/ChannelMap.cpp +++ b/src/evb/ChannelMap.cpp @@ -6,7 +6,6 @@ Written by G.W. McCann Oct. 2020 */ -#include "EventBuilder.h" #include "ChannelMap.h" namespace EventBuilder { diff --git a/src/evb/CompassFile.cpp b/src/evb/CompassFile.cpp index d632636..ca9e3ab 100644 --- a/src/evb/CompassFile.cpp +++ b/src/evb/CompassFile.cpp @@ -8,7 +8,6 @@ Written by G.W. McCann Oct. 2020 */ -#include "EventBuilder.h" #include "CompassFile.h" namespace EventBuilder { @@ -74,7 +73,7 @@ namespace EventBuilder { { if(!IsOpen()) { - std::cerr<<"Unable to get hit size due to file not being open!"< #include "EVBApp.h" #include "RunCollector.h" diff --git a/src/evb/FP_kinematics.cpp b/src/evb/FP_kinematics.cpp index 337d36d..19a59fd 100644 --- a/src/evb/FP_kinematics.cpp +++ b/src/evb/FP_kinematics.cpp @@ -31,7 +31,6 @@ */ -#include "EventBuilder.h" #include #include "MassLookup.h" #include "FP_kinematics.h" diff --git a/src/evb/FastSort.cpp b/src/evb/FastSort.cpp index 1452b70..3f8a7c4 100644 --- a/src/evb/FastSort.cpp +++ b/src/evb/FastSort.cpp @@ -1,4 +1,3 @@ -#include "EventBuilder.h" #include "FastSort.h" namespace EventBuilder { diff --git a/src/evb/FlagHandler.cpp b/src/evb/FlagHandler.cpp index 52b0cb0..5ae547a 100644 --- a/src/evb/FlagHandler.cpp +++ b/src/evb/FlagHandler.cpp @@ -1,4 +1,3 @@ -#include "EventBuilder.h" #include "FlagHandler.h" namespace EventBuilder { diff --git a/src/evb/Logger.cpp b/src/evb/Logger.cpp new file mode 100644 index 0000000..3fdcdee --- /dev/null +++ b/src/evb/Logger.cpp @@ -0,0 +1,15 @@ +#include "spdlog/sinks/stdout_color_sinks.h" + +namespace EventBuilder { + + std::shared_ptr Logger::s_logger; + + void Logger::Init() + { + spdlog::set_pattern("%^[%T] %n: %v%$"); + + s_logger = spdlog::stdout_color_mt("EVB"); + s_logger->set_level(spdlog::level::trace); + } + +} \ No newline at end of file diff --git a/src/evb/Logger.h b/src/evb/Logger.h new file mode 100644 index 0000000..9e07a01 --- /dev/null +++ b/src/evb/Logger.h @@ -0,0 +1,26 @@ +#ifndef LOGGER_H +#define LOGGER_H + +#include "spdlog/spdlog.h" + +namespace EventBuilder { + + class Logger + { + public: + static void Init(); + + inline static std::shared_ptr GetLogger() { return s_logger; } + + private: + static std::shared_ptr s_logger; + }; + + #define EVB_CRITICAL(...) ::EventBuilder::Logger::GetLogger()->critical(__VA_ARGS__) + #define EVB_ERROR(...) ::EventBuilder::Logger::GetLogger()->error(__VA_ARGS__) + #define EVB_WARN(...) ::EventBuilder::Logger::GetLogger()->warn(__VA_ARGS__) + #define EVB_INFO(...) ::EventBuilder::Logger::GetLogger()->info(__VA_ARGS__) + #define EVB_TRACE(...) ::EventBuilder::Logger::GetLogger()->trace(__VA_ARGS__) +} + +#endif \ No newline at end of file diff --git a/src/evb/MassLookup.cpp b/src/evb/MassLookup.cpp index eea7030..dd0d19d 100644 --- a/src/evb/MassLookup.cpp +++ b/src/evb/MassLookup.cpp @@ -8,7 +8,6 @@ of this map (MASS) for use throughout code it is included into. Written by G.W. McCann Aug. 2020 */ -#include "EventBuilder.h" #include "MassLookup.h" namespace EventBuilder { diff --git a/src/evb/OrderChecker.cpp b/src/evb/OrderChecker.cpp index c08cdc6..da47f05 100644 --- a/src/evb/OrderChecker.cpp +++ b/src/evb/OrderChecker.cpp @@ -5,7 +5,6 @@ Written by G.W. McCann Oct. 2020 */ -#include "EventBuilder.h" #include "OrderChecker.h" namespace EventBuilder { diff --git a/src/evb/RunCollector.cpp b/src/evb/RunCollector.cpp index cf5afc7..bb54e7a 100644 --- a/src/evb/RunCollector.cpp +++ b/src/evb/RunCollector.cpp @@ -1,4 +1,3 @@ -#include "EventBuilder.h" #include "RunCollector.h" #include #include diff --git a/src/evb/SFPAnalyzer.cpp b/src/evb/SFPAnalyzer.cpp index fec5cb2..da8f342 100644 --- a/src/evb/SFPAnalyzer.cpp +++ b/src/evb/SFPAnalyzer.cpp @@ -9,7 +9,6 @@ * * Position calibrations swapped as of Aug. 2021 due to detector fixes -- GWM */ -#include "EventBuilder.h" #include "SFPAnalyzer.h" namespace EventBuilder { diff --git a/src/evb/SFPPlotter.cpp b/src/evb/SFPPlotter.cpp index a2254a9..9abe687 100644 --- a/src/evb/SFPPlotter.cpp +++ b/src/evb/SFPPlotter.cpp @@ -6,7 +6,6 @@ *Created Jan 2020 by GWM */ -#include "EventBuilder.h" #include "SFPPlotter.h" #include diff --git a/src/evb/ShiftMap.cpp b/src/evb/ShiftMap.cpp index 91b8eda..b7c56e5 100644 --- a/src/evb/ShiftMap.cpp +++ b/src/evb/ShiftMap.cpp @@ -9,7 +9,6 @@ Written by G.W. McCann Oct. 2020 */ -#include "EventBuilder.h" #include "ShiftMap.h" namespace EventBuilder { diff --git a/src/evb/SlowSort.cpp b/src/evb/SlowSort.cpp index 07ec53c..2c8c4c5 100644 --- a/src/evb/SlowSort.cpp +++ b/src/evb/SlowSort.cpp @@ -7,7 +7,6 @@ * *Refurbished and updated Jan 2020 GWM */ -#include "EventBuilder.h" #include "SlowSort.h" namespace EventBuilder { diff --git a/src/evb/Stopwatch.cpp b/src/evb/Stopwatch.cpp index 95feb6e..8447d56 100644 --- a/src/evb/Stopwatch.cpp +++ b/src/evb/Stopwatch.cpp @@ -5,7 +5,6 @@ Written by G.W. McCann Oct. 2020 */ -#include "EventBuilder.h" #include "Stopwatch.h" namespace EventBuilder { diff --git a/src/gui_main.cpp b/src/gui_main.cpp index 06366eb..f7f213c 100644 --- a/src/gui_main.cpp +++ b/src/gui_main.cpp @@ -1,4 +1,3 @@ -#include "EventBuilder.h" #include "spsdict/DataStructs.h" #include #include "guidict/EVBMainFrame.h" diff --git a/src/guidict/CMakeLists.txt b/src/guidict/CMakeLists.txt index ab22984..a0bb65c 100644 --- a/src/guidict/CMakeLists.txt +++ b/src/guidict/CMakeLists.txt @@ -5,7 +5,7 @@ add_custom_command(TARGET GUIDict POST_BUILD COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/libGUIDict_rdict.pcm ${CMAKE_INSTALL_PREFIX}/lib/ VERBATIM) -target_include_directories(GUIDict PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${PCH_DIR}) +target_include_directories(GUIDict PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${PCH_DIR} ${SPDLOG_INCLUDE}) target_precompile_headers(GUIDict PUBLIC ${PCH_DIR}/EventBuilder.h) set_target_properties(GUIDict PROPERTIES PUBLIC_HEADER "EVBMainFrame.h;FileViewFrame.h") target_link_libraries(GUIDict @@ -30,6 +30,7 @@ target_link_libraries(GUIDict ROOT::Thread ROOT::TreePlayer ROOT::Tree + spdlog::spdlog ) install(TARGETS GUIDict diff --git a/src/guidict/EVBMainFrame.cpp b/src/guidict/EVBMainFrame.cpp index c2f1815..b16b13c 100644 --- a/src/guidict/EVBMainFrame.cpp +++ b/src/guidict/EVBMainFrame.cpp @@ -1,4 +1,3 @@ -#include #include "EVBMainFrame.h" #include "FileViewFrame.h" #include diff --git a/src/guidict/FileViewFrame.cpp b/src/guidict/FileViewFrame.cpp index 7491e05..8c42c22 100644 --- a/src/guidict/FileViewFrame.cpp +++ b/src/guidict/FileViewFrame.cpp @@ -9,7 +9,6 @@ */ -#include "EventBuilder.h" #include "FileViewFrame.h" #include #include diff --git a/src/main.cpp b/src/main.cpp index 1b7cf29..bdb72b6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,4 +1,3 @@ -#include "EventBuilder.h" #include "spsdict/DataStructs.h" #include "evb/EVBApp.h" #include "evb/Stopwatch.h" @@ -6,10 +5,10 @@ int main(int argc, char** argv) { EnforceDictionaryLinked(); + EventBuilder::Logger::Init(); if(argc != 3) { - std::cerr<<"Incorrect number of command line arguments!"<