cmake_minimum_required(VERSION 3.5)

project(LhProfilerSDKGuiDemo VERSION 0.1 LANGUAGES CXX)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Network)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Network)

include_directories(${PROJECT_SOURCE_DIR}/LhProfilerSDK/include)
link_directories(${PROJECT_SOURCE_DIR}/LhProfilerSDK/bin)

set(PROJECT_SOURCES
        main.cpp
        mainwindow.cpp
        mainwindow.h
        mainwindow.ui
        common/CircleBuffer.cpp
        net/UdpReceiver.cpp
        Processing.cpp
        FileRead.cpp
        FileSave.cpp
        DeviceInfo.h
)

# add_executable(${PROJECT_NAME} ${PROJECT_SOURCES})
add_executable(${PROJECT_NAME} #[[WIN32]] ${PROJECT_SOURCES})

target_link_libraries(${PROJECT_NAME} debug LhProfilerSDK_X64d)
target_link_libraries(${PROJECT_NAME} optimized LhProfilerSDK_X64)
target_link_libraries(${PROJECT_NAME} fftw3)

set_target_properties(${PROJECT_NAME} PROPERTIES
    MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
    MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    MACOSX_BUNDLE TRUE
    WIN32_EXECUTABLE TRUE
)


target_link_libraries(${PROJECT_NAME} ws2_32 Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network)
# add_definitions(-DDLL_EXPORTS)
add_definitions(-DUSE_WINDOWS=1)


install(TARGETS ${PROJECT_NAME}
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})


