cmake_minimum_required(VERSION 3.16)
project(AeroPulseLinux LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

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

# Try Qt6 first, fallback to Qt5 to support any Linux distribution
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)

set(SOURCES
    src/main.cpp
    src/HardwareTypes.h
    src/LinuxSysInfo.h
    src/LinuxHwmonController.h
    src/ThermalEngine.h
    ui/CurveWidget.h
    ui/MainWindow.h
)

add_executable(aeropulse ${SOURCES})

target_link_libraries(aeropulse PRIVATE
    Qt${QT_VERSION_MAJOR}::Widgets
)

install(TARGETS aeropulse DESTINATION bin)
