From 890272409bb36ee5e7e4ad376f5d601b2b4637a7 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Thu, 3 Oct 2019 16:47:38 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B8=D0=BC=D0=B5=D1=80=D1=8B=20?= =?UTF-8?q?=D0=B6=D1=83=D1=80=D0=BD=D0=B0=D0=BB=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 1 + examples/log/01_minimal/CMakeLists.txt | 42 ++++++++++++++++++++++++ examples/log/01_minimal/minimal.cpp | 21 ++++++++++++ examples/log/02_qt/CMakeLists.txt | 45 ++++++++++++++++++++++++++ examples/log/02_qt/qt.cpp | 24 ++++++++++++++ examples/log/CMakeLists.txt | 3 ++ 6 files changed, 136 insertions(+) create mode 100644 examples/log/01_minimal/CMakeLists.txt create mode 100644 examples/log/01_minimal/minimal.cpp create mode 100644 examples/log/02_qt/CMakeLists.txt create mode 100644 examples/log/02_qt/qt.cpp create mode 100644 examples/log/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 866cdc0..ae730ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,6 +46,7 @@ add_subdirectory(src/log) # Примеры add_subdirectory(examples/filesystem) +add_subdirectory(examples/log) add_breathe_target( TARGET_NAME doc-breathe diff --git a/examples/log/01_minimal/CMakeLists.txt b/examples/log/01_minimal/CMakeLists.txt new file mode 100644 index 0000000..245ef51 --- /dev/null +++ b/examples/log/01_minimal/CMakeLists.txt @@ -0,0 +1,42 @@ +# Название основной цели в текущем каталоге +set(current_target minimal) + +# Список файлов исходных текстов +set(current_target_sources + ${CMAKE_CURRENT_SOURCE_DIR}/minimal.cpp + ) + +# Путь поиска библиотек внутри проекта +link_directories(${CMAKE_INSTALL_LIBDIR}) +link_directories(${CMAKE_BINARY_DIR}/src/log/lib) + +# Цель для создания исполняемого файла +add_executable(${current_target} ${current_target_sources}) +common_target_properties(${current_target}) +add_clang_tidy_check(${current_target} ${current_target_sources}) +add_clang_analyze_check(${current_target} ${current_target_sources}) +add_clazy_check(${current_target} ${current_target_sources}) +add_uncrustify_format(${current_target} ${current_target_sources}) +add_pvs_check(${current_target}) + +# Qt5 +# qt_translation(TARGET ${current_target} TS_DIR ${CMAKE_SOURCE_DIR}/l10n LANGUAGES ru_RU) +target_include_directories(${current_target} PRIVATE ${CMAKE_SOURCE_DIR}/src) +target_include_directories(${current_target} SYSTEM PUBLIC ${FMT_INCLUDE_DIRS}) +target_include_directories(${current_target} SYSTEM PUBLIC ${SPDLOG_INCLUDE_DIRS}) + +target_link_libraries(${current_target} log_static) + +# Имя выходного файла для цели +set_target_properties(${current_target} + PROPERTIES + OUTPUT_NAME minimal + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR} + ) + +add_sanitizers(${current_target}) + +# cotire(${current_target}) + +# Правила для установки +install(TARGETS ${current_target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/examples/log/01_minimal/minimal.cpp b/examples/log/01_minimal/minimal.cpp new file mode 100644 index 0000000..876e5e9 --- /dev/null +++ b/examples/log/01_minimal/minimal.cpp @@ -0,0 +1,21 @@ +#include "log/spdlog.hpp" + +namespace ML = myx::log; + + +int main( int argc, char** argv ) +{ + ML::defaultLogger.enableStdoutSink(); + + spdlog::register_logger( ML::defaultLogger.logger() ); + spdlog::set_default_logger( ML::defaultLogger.logger() ); + + ML::info( "aaaa" ); + ML::trace( "bbbb" ); + + spdlog::set_pattern( "[%H:%M:%S %z] %v" ); + + ML::info( "aaaa 111" ); + ML::trace( "bbbb 111" ); + return( 0 ); +} diff --git a/examples/log/02_qt/CMakeLists.txt b/examples/log/02_qt/CMakeLists.txt new file mode 100644 index 0000000..eeff9cd --- /dev/null +++ b/examples/log/02_qt/CMakeLists.txt @@ -0,0 +1,45 @@ +# Название основной цели в текущем каталоге +set(current_target qt) + +# Список файлов исходных текстов +set(current_target_sources + ${CMAKE_CURRENT_SOURCE_DIR}/qt.cpp + ) + +# Путь поиска библиотек внутри проекта +link_directories(${CMAKE_INSTALL_LIBDIR}) +link_directories(${CMAKE_BINARY_DIR}/src/log/lib) + +# Цель для создания исполняемого файла +add_executable(${current_target} ${current_target_sources}) +common_target_properties(${current_target}) +add_clang_tidy_check(${current_target} ${current_target_sources}) +add_clang_analyze_check(${current_target} ${current_target_sources}) +add_clazy_check(${current_target} ${current_target_sources}) +add_uncrustify_format(${current_target} ${current_target_sources}) +add_pvs_check(${current_target}) + +# Qt5 +# qt_translation(TARGET ${current_target} TS_DIR ${CMAKE_SOURCE_DIR}/l10n LANGUAGES ru_RU) +target_include_directories(${current_target} PRIVATE ${CMAKE_SOURCE_DIR}/src) +target_include_directories(${current_target} SYSTEM PUBLIC ${FMT_INCLUDE_DIRS}) +target_include_directories(${current_target} SYSTEM PUBLIC ${SPDLOG_INCLUDE_DIRS}) +target_include_directories(${current_target} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) +target_compile_options(${current_target} PUBLIC "${Qt5Core_EXECUTABLE_COMPILE_FLAGS}") + +target_link_libraries(${current_target} log_static) +target_link_libraries(${current_target} Qt5::Core) + +# Имя выходного файла для цели +set_target_properties(${current_target} + PROPERTIES + OUTPUT_NAME qt + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR} + ) + +add_sanitizers(${current_target}) + +# cotire(${current_target}) + +# Правила для установки +install(TARGETS ${current_target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/examples/log/02_qt/qt.cpp b/examples/log/02_qt/qt.cpp new file mode 100644 index 0000000..f63ee09 --- /dev/null +++ b/examples/log/02_qt/qt.cpp @@ -0,0 +1,24 @@ +#include "log/spdlog.hpp" +#include "log/spdlog_qt.hpp" + +namespace ML = myx::log; + + +int main( int argc, char** argv ) +{ + ML::defaultLogger.enableStdoutSink(); + + spdlog::register_logger( ML::defaultLogger.logger() ); + spdlog::set_default_logger( ML::defaultLogger.logger() ); + + qInstallMessageHandler( ML::spdlog_qt_message_handler ); + + qInfo() << "aaaa"; + qDebug() << "bbbb"; + + spdlog::set_pattern( "[%H:%M:%S %z] %v" ); + + qInfo( "aaaa 111" ); + qDebug( "bbbb 111" ); + return( 0 ); +} diff --git a/examples/log/CMakeLists.txt b/examples/log/CMakeLists.txt new file mode 100644 index 0000000..feb4785 --- /dev/null +++ b/examples/log/CMakeLists.txt @@ -0,0 +1,3 @@ +add_subdirectory(01_minimal) +add_subdirectory(02_qt) +