cmake_minimum_required(VERSION 3.16)
project(discovery VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

find_package(Qt6 6.2 REQUIRED COMPONENTS Core Quick QuickControls2)

qt6_add_executable(discovery
    src/main.cpp
    src/packagecatalog.cpp
    src/packagecatalog.h
    src/packagestatus.cpp
    src/packagestatus.h
    src/systemactions.cpp
    src/systemactions.h
    src/terminallauncher.cpp
    src/terminallauncher.h
)

target_compile_options(discovery PRIVATE
    "$<$<COMPILE_LANG_AND_ID:CXX,GNU,Clang,AppleClang>:-Wall;-Wextra;-Wpedantic>"
    "$<$<COMPILE_LANG_AND_ID:CXX,MSVC>:/W4>"
)

target_link_libraries(discovery PRIVATE Qt6::Core Qt6::Quick Qt6::QuickControls2)

install(TARGETS discovery RUNTIME DESTINATION bin)
install(DIRECTORY qml/ DESTINATION share/discovery/qml)
install(DIRECTORY assets/ DESTINATION share/discovery/assets)
install(FILES discovery.desktop DESTINATION share/applications)
install(FILES discovery-autostart.desktop DESTINATION /etc/xdg/autostart)
