C
Qt Quick Ultralite multitask Example
cmake_minimum_required (VERSION 3.21.1) project(freertos) # Add platform specific driver include directories if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/${QUL_PLATFORM}/freertos.cmake) if(NOT DEFINED FREERTOS_DIR) message(WARNING "FREERTOS_DIR cache entry is not set. Skipping multitask.") else() file(TO_CMAKE_PATH "${FREERTOS_DIR}" FREERTOS_DIR) add_library(freertos_kernel STATIC) target_link_libraries(freertos_kernel PRIVATE "$<BUILD_INTERFACE:Qul::PlatformArchitecture>") # Enforce symbols to be put in the binary, otherwise LTO will strip them if(NOT IAR) target_link_libraries(freertos_kernel PRIVATE -Wl,-u,vTaskSwitchContext) endif() target_include_directories(freertos_kernel PUBLIC ${QUL_PLATFORM_TARGET_DIR}) include(${QUL_PLATFORM}/freertos.cmake) target_compile_definitions(freertos_kernel PUBLIC USE_FreeRTOS_HEAP_4) # Add common sources target_sources(freertos_kernel PRIVATE ${FREERTOS_DIR}/portable/MemMang/heap_4.c ) endif() endif()