C

Qt Quick Ultralite swipe_game Demo

cmake_minimum_required (VERSION 3.21.1)

project(swipe_game VERSION 0.0.1 LANGUAGES C CXX ASM)

if (NOT TARGET Qul::Core)
    find_package(Qul)
endif()

if(QUL_PLATFORM MATCHES "^ek-ra6m3g")
    qul_add_target(swipe_game
        Globals.cpp
        HighscoreModel.cpp
        QML_PROJECT
        mcu_swipe_game_ek-ra6m3g.qmlproject
        GENERATE_ENTRYPOINT
    )
else()
    qul_add_target(swipe_game
        Globals.cpp
        HighscoreModel.cpp
        QML_PROJECT
        mcu_swipe_game.qmlproject
        GENERATE_ENTRYPOINT
    )

    if (QUL_OS STREQUAL "FreeRTOS" AND NOT QUL_PLATFORM MATCHES "^stm32f769i")
        math(EXPR cache_size_in_bytes "1024 * 1024")

        if (QUL_PLATFORM STREQUAL "mimxrt1170-evk-freertos")
            # NXP 1170 needs additional 2*3.6MB for the screen layer
            math(EXPR heap_size "8 * 1024 * 1024 + ${cache_size_in_bytes}")
        else()
            math(EXPR heap_size "1024 * 1024 + ${cache_size_in_bytes}")
        endif()

        add_compile_definitions(configTOTAL_HEAP_SIZE=${heap_size})
    endif()
endif()

app_target_setup_os(swipe_game)