From c196ffb6d85fe555046ab5b981e43b08d14cb213a21084e3bbee445aa070cb56 Mon Sep 17 00:00:00 2001 From: CupWater Date: Mon, 17 Aug 2026 10:02:18 +0800 Subject: [PATCH] . --- CMakeLists.txt | 52 +++++++++---------- {src/featherlog => include}/log_formatter.hpp | 0 {src/featherlog => include}/log_level.hpp | 0 {src/featherlog => include}/log_manager.hpp | 0 {src/featherlog => include}/log_message.hpp | 0 {src/featherlog => include}/log_outputter.hpp | 5 +- {src/featherlog => include}/logger.hpp | 0 src/featherlog/log_manager.cpp | 2 +- 8 files changed, 29 insertions(+), 30 deletions(-) rename {src/featherlog => include}/log_formatter.hpp (100%) rename {src/featherlog => include}/log_level.hpp (100%) rename {src/featherlog => include}/log_manager.hpp (100%) rename {src/featherlog => include}/log_message.hpp (100%) rename {src/featherlog => include}/log_outputter.hpp (84%) rename {src/featherlog => include}/logger.hpp (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e4b8cfe..f3e75fa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,36 +4,36 @@ project(FeatherLog) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) -if (MSVC) - add_compile_options(/Wall /utf-8) -else () - add_compile_options(-Wextra -Wpedantic -Wall) -endif () - set(CMAKE_BINARY_DIR "out") -set(sources - src/featherlog/log_manager.hpp - src/featherlog/log_outputter.hpp - src/featherlog/logger.hpp - src/featherlog/log_formatter.hpp - src/featherlog/log_level.hpp - src/featherlog/log_message.hpp +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/shared") + +# 定义源文件 +set(${PROJECT_NAME}_SOURCES + include/log_manager.hpp + include/log_outputter.hpp + include/logger.hpp + include/log_formatter.hpp + include/log_level.hpp + include/log_message.hpp src/featherlog/log_manager.cpp) -# Shared Lib: -if (MSVC) - add_compile_options(/DFEATHER_LOG_EXPORT_DLL) -else () - add_compile_options(-DFEATHER_LOG_EXPORT_DLL) -endif () -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/shared") -add_library(${PROJECT_NAME} SHARED ${sources}) +# 生成静态库 +add_library(${PROJECT_NAME}_static STATIC ${${PROJECT_NAME}_SOURCES}) +target_include_directories(${PROJECT_NAME}_static PUBLIC include) +set_target_properties(${PROJECT_NAME}_static PROPERTIES + OUTPUT_NAME ${PROJECT_NAME} + PREFIX lib) -# Shared Lib End +add_compile_definitions(FLOG_DLL_MODE) +add_compile_definitions(FLOG_BUILDING_DLL) -#set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/static") -#add_library(${PROJECT_NAME} STATIC ${sources}) +# 生成动态库 +add_library(${PROJECT_NAME}_shared SHARED ${${PROJECT_NAME}_SOURCES}) +target_include_directories(${PROJECT_NAME}_shared PUBLIC include) +set_target_properties(${PROJECT_NAME}_shared PROPERTIES + OUTPUT_NAME ${PROJECT_NAME} + PREFIX lib) -# Static Lib: -# Static Lib End +include(CTest) +enable_testing() diff --git a/src/featherlog/log_formatter.hpp b/include/log_formatter.hpp similarity index 100% rename from src/featherlog/log_formatter.hpp rename to include/log_formatter.hpp diff --git a/src/featherlog/log_level.hpp b/include/log_level.hpp similarity index 100% rename from src/featherlog/log_level.hpp rename to include/log_level.hpp diff --git a/src/featherlog/log_manager.hpp b/include/log_manager.hpp similarity index 100% rename from src/featherlog/log_manager.hpp rename to include/log_manager.hpp diff --git a/src/featherlog/log_message.hpp b/include/log_message.hpp similarity index 100% rename from src/featherlog/log_message.hpp rename to include/log_message.hpp diff --git a/src/featherlog/log_outputter.hpp b/include/log_outputter.hpp similarity index 84% rename from src/featherlog/log_outputter.hpp rename to include/log_outputter.hpp index 798c1dd..99f0a6a 100644 --- a/src/featherlog/log_outputter.hpp +++ b/include/log_outputter.hpp @@ -1,8 +1,7 @@ -#ifndef FEATHERLOG_LOG_OUTPUTER_HPP -#define FEATHERLOG_LOG_OUTPUTER_HPP +#ifndef FEATHERLOG_LOG_OUTPUTTER_HPP +#define FEATHERLOG_LOG_OUTPUTTER_HPP #include -#include #include "log_formatter.hpp" #include "log_message.hpp" diff --git a/src/featherlog/logger.hpp b/include/logger.hpp similarity index 100% rename from src/featherlog/logger.hpp rename to include/logger.hpp diff --git a/src/featherlog/log_manager.cpp b/src/featherlog/log_manager.cpp index 20736e4..77941a5 100644 --- a/src/featherlog/log_manager.cpp +++ b/src/featherlog/log_manager.cpp @@ -1,4 +1,4 @@ -#include "log_manager.hpp" +#include "../../include/log_manager.hpp" namespace flog {