cmake_minimum_required(VERSION 3.13) set(LIB_FREERTOS_NAME FreeRTOS) project(${LIB_FREERTOS_NAME} VERSION 202210.01) add_library(${LIB_FREERTOS_NAME}) target_sources( ${LIB_FREERTOS_NAME} PRIVATE FreeRTOS/FreeRTOS-Kernel/list.c FreeRTOS/FreeRTOS-Kernel/queue.c FreeRTOS/FreeRTOS-Kernel/tasks.c FreeRTOS/FreeRTOS-Kernel/timers.c ) target_include_directories( ${LIB_FREERTOS_NAME} PUBLIC FreeRTOS/FreeRTOS-Kernel/include ) if(NOT FreeRTOS_PORT) message( STATUS "FreeRTOS_PORT is empty. either set it or add port files manually." ) else() if(FreeRTOS_PORT MATCHES "posix") target_sources( ${LIB_FREERTOS_NAME} PRIVATE FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/Posix/port.c FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/Posix/utils/wait_for_event.c FreeRTOS/FreeRTOS-Kernel/portable/MemMang/heap_3.c ) target_include_directories( ${LIB_FREERTOS_NAME} PUBLIC FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/Posix/ ) else() message( ERROR "Unsupportet FreeRTOS_PORT." ) endif() endif()