C
Qt Quick Ultralite freertos_multitask Example
cmake_minimum_required (VERSION 3.15) project(freertos_multitask VERSION 0.0.1 LANGUAGES C CXX ASM) if (NOT TARGET Qul::Core) find_package(Qul) endif() add_subdirectory(freertos) if(TARGET freertos_kernel) # FreeRTOS support implemented for this platform add_subdirectory(board_utils) qul_add_target(freertos_multitask src/main.cpp src/fancontrol.cpp ) qul_target_generate_interfaces(freertos_multitask ${CMAKE_CURRENT_SOURCE_DIR}/src/fancontrol.h ) qul_add_resource(freertos_multitask FILES images/background-dark.png images/fan-off.png ) qul_target_qml_sources(freertos_multitask freertos_multitask.qml) target_link_libraries(freertos_multitask PRIVATE freertos_kernel board_utils) if (QUL_BUILD_QMLPROJECT_EXAMPLES) qul_add_target(freertos_multitask_qmlproject src/main.cpp src/fancontrol.cpp QML_PROJECT mcu_freertos_multitask.qmlproject ) target_link_libraries(freertos_multitask_qmlproject PRIVATE freertos_kernel board_utils) endif() elseif(NOT CMAKE_CROSSCOMPILING) # No FreeRTOS here - fallback for building on desktop platform qul_add_target(freertos_multitask_desktop src/fancontrol.cpp) qul_add_resource(freertos_multitask_desktop FILES images/background-dark.png images/fan-off.png ) qul_target_qml_sources(freertos_multitask_desktop freertos_multitask.qml) qul_target_generate_interfaces(freertos_multitask_desktop ${CMAKE_CURRENT_SOURCE_DIR}/src/fancontrol.h ) target_compile_definitions(freertos_multitask_desktop PRIVATE NO_LED) app_target_default_entrypoint(freertos_multitask_desktop freertos_multitask) if (QUL_BUILD_QMLPROJECT_EXAMPLES) qul_add_target(freertos_multitask_desktop_qmlproject src/fancontrol.cpp QML_PROJECT mcu_freertos_multitask.qmlproject) target_compile_definitions(freertos_multitask_desktop_qmlproject PRIVATE NO_LED) app_target_default_entrypoint(freertos_multitask_desktop_qmlproject freertos_multitask) endif() else() message(STATUS "Skipping generating target: freertos_multitask") endif()