cmake_minimum_required(VERSION 3.0.0)
project(simple_logger_example)

include(CheckIncludeFileCXX)

set(CMAKE_CXX_STANDARD 20)

CHECK_INCLUDE_FILE_CXX(format HAS_FORMAT)
message(HAS_FORMAT=${HAS_FORMAT})

if(${HAS_FORMAT})
    message("HAS_FORMAT=${HAS_FORMAT}, add HAS_STD_FORMAT definition")
    add_definitions(-DHAS_STD_FORMAT)
endif()

set(SRC 
    ${PROJECT_SOURCE_DIR}/../DateTime.cpp
    ${PROJECT_SOURCE_DIR}/../Formatter.cpp
    ${PROJECT_SOURCE_DIR}/../Logger.cpp
    ${PROJECT_SOURCE_DIR}/Example.cpp
)

include_directories(
    ${PROJECT_SOURCE_DIR}/..
)

link_directories(${PROJECT_SOURCE_DIR})

add_executable(simple_logger_example ${SRC})

if(WIN32)
    MESSAGE(STATUS "Current OS is windows system")
    target_link_libraries(simple_logger_example)
elseif(APPLE)
    MESSAGE(STATUS "Current OS is Apple system.")
    target_link_libraries(simple_logger_example -lstdc++ -lpthread)
elseif(UNIX)
    MESSAGE(STATUS "Current OS is UNIX-like(including linux) system.")
    target_link_libraries(simple_logger_example -lstdc++ -lpthread)
endif()

