C

Qt Quick Ultralite loader Example

# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial
cmake_minimum_required(VERSION 3.21.1)

project(loader VERSION 0.0.1 LANGUAGES C CXX ASM)

find_package(QulApp)

add_subdirectory(GameState)
add_subdirectory(SettingsData)

if(QUL_PLATFORM MATCHES "autosar")
    qul_add_library(loader)
else()
    qul_add_executable(loader)
endif()

qul_add_qml_module(loader
    URI LoaderApp
    QML_FILES
        loader.qml
        PageButton.qml
        Logo.qml
        settings/Settings.qml
        settings/ColorSelector.qml
        settings/DifficultySelector.qml
        memory_game/ColorButtons.qml
        memory_game/GameOver.qml
        memory_game/GameMain.qml
        memory_game/GameWindow.qml
        memory_game/MemoryGame.qml
        memory_game/StatsOverlay.qml
    RESOURCES
        images/next_page.png
        images/previous_page.png
        images/qt_logo.png
    NO_SBOM
)

target_link_libraries(loader PRIVATE loader_gamestate_module loader_settingsdata_module)

app_target_setup_os(loader)
app_target_default_entrypoint(loader loader MODULE LoaderApp)

if(NOT CMAKE_CROSSCOMPILING AND NOT WIN32)
    add_custom_command(TARGET loader
        COMMAND strip loader -o loader.stripped
        DEPENDS loader)
endif()