cmake_minimum_required (VERSION 3.10)

project (qqc2-suru-style
    VERSION 0.20260619
    LANGUAGES CXX
)

set (QT_MAJOR_VERSION "6" CACHE STRING "The Qt major version to target")

if (QT_MAJOR_VERSION VERSION_LESS "6")
    message (FATAL_ERROR "For targeting Qt versions < 6.0.0, please use QMake.")
endif()

# None specified in the QMake build, but Qt6 dictates at least C++17
set (CMAKE_CXX_STANDARD 17)
set (CMAKE_CXX_EXTENSIONS OFF)
set (CMAKE_CXX_STANDARD_REQUIRED ON)

include (GNUInstallDirs)

find_package (QT NAMES Qt${QT_MAJOR_VERSION})

list (APPEND REQUIRED_QT_COMPONENTS
    Gui
    QuickControls2
    QuickTemplates2
)
if (QT_VERSION VERSION_GREATER_EQUAL "6.2.0")
    list (APPEND REQUIRED_QT_COMPONENTS
        GuiPrivate
        QuickControls2Impl
        QuickControls2ImplPrivate
        QuickControls2Private
        QuickTemplates2Private
    )
endif()

find_package (Qt${QT_MAJOR_VERSION} REQUIRED COMPONENTS ${REQUIRED_QT_COMPONENTS})

set (CMAKE_AUTOMOC ON)
set (QT_IMPORTS_DIR "${CMAKE_INSTALL_LIBDIR}/qt${QT_MAJOR_VERSION}/qml")

add_subdirectory (qqc2-suru)
