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
