cmake_minimum_required(VERSION 3.16)
project(LocalSendQt VERSION 1.0.0 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)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

option(BUILD_TESTS "Build unit tests" ON)
option(WITH_HTTP_SERVER "Build with QHttpServer support" ON)

find_package(Qt6 REQUIRED COMPONENTS Core Network Quick QuickControls2)

if(WITH_HTTP_SERVER)
    find_package(Qt6 6.8 COMPONENTS HttpServer)
endif()

add_subdirectory(src/core)
add_subdirectory(src/app)

if(BUILD_TESTS)
    enable_testing()
    find_package(Qt6 REQUIRED COMPONENTS Test)
    add_subdirectory(tests)
endif()
