cmake_minimum_required(VERSION 3.5)

set(this_exe timer)


#包含源文件
file(GLOB LOCAL_SRC
    ${CMAKE_CURRENT_SOURCE_DIR}/*.qrc
    ${CMAKE_CURRENT_SOURCE_DIR}/*.rc
    ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/*.ui

    ${CMAKE_SOURCE_DIR}/External/common/LightLog/*.cpp
    ${CMAKE_SOURCE_DIR}/External/common/Logs/*.cpp
    ${CMAKE_SOURCE_DIR}/External/common/ThreadPool/*.cpp
    
)


# 生成可执行程序

add_executable(${this_exe}
    # WIN32
    ${GLOBAL_SRC}
    ${LOCAL_SRC} 
)


#添加头文件
target_include_directories(${this_exe} PRIVATE

    ${CMAKE_CURRENT_SOURCE_DIR}
    ${CMAKE_SOURCE_DIR}/External/common/LightLog
    ${CMAKE_SOURCE_DIR}/External/common
    ${CMAKE_SOURCE_DIR}/External/common/FmtLog
    ${CMAKE_SOURCE_DIR}/External/common/Timer
    ${CMAKE_SOURCE_DIR}/External/common/ThreadPool
    ${CMAKE_SOURCE_DIR}/External/common/RingQueue
)

target_link_libraries(${this_exe} PRIVATE
    Qt5::Widgets
    Qt5::Core
    Qt5::Network
    # Qt5::Multimedia
    # Qt5::Xml
    # Qt5::Sql
)

target_link_libraries(${this_exe} PRIVATE 
    fmt::fmt
    spdlog::spdlog
    ${CURL_LIBRARY}
)

if(CMAKE_CXX_COMPILER_VERSION LESS 9.0)
    target_link_libraries(${this_exe} PRIVATE
        stdc++fs
    )
endif()

# target_link_libraries(${this_exe} PRIVATE
#     ${CURL_LIBRARY}
    
# )
# message(STATUS "CURL_LIBRARY: ${CURL_LIBRARY}")


# if(CMAKE_CXX_COMPILER_ID MATCHES MSVC)
#     target_link_libraries(${this_exe} PRIVATE
#         # debug spdlogd.lib
#         # optimized spdlog.lib
#     )
# elseif(CMAKE_CXX_COMPILER_ID MATCHES GNU)
#     target_link_libraries(${this_exe} PRIVATE
#         # debug 
#         # optimized ${SM_DLL}
#     )
# endif()