cmake_minimum_required(VERSION 4.0.2) 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 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}) # Shared Lib End #set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/static") #add_library(${PROJECT_NAME} STATIC ${sources}) # Static Lib: # Static Lib End