SomeFreeRTOSExamples/examples/ex1_task_hello/CMakeLists.txt

52 lines
1.8 KiB
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.13)
if(NOT DEFINED LIB_ROOT)
set(LIB_ROOT ${CMAKE_SOURCE_DIR}/../..)
endif(NOT DEFINED LIB_ROOT)
set(PICO_SDK_PATH ${LIB_ROOT}/submodules/pico-sdk/)
include( ${LIB_ROOT}/submodules/pico-sdk/external/pico_sdk_import.cmake)
# Pull in FreeRTOS
include(${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)
set(PICOTOOL_FETCH_FROM_GIT_PATH ${LIB_ROOT}/submodules/picotool/)
# Include the Pico SDK (make sure to use the correct path to pico_sdk_import.cmake)
include(FetchContent)
# Define the project
project(ex1_task_hello C CXX ASM)
# Initialize the Pico SDK
pico_sdk_init()
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
# Create the executable
add_executable(ex1_task_hello main.c
${LIB_ROOT}/submodules/FreeRTOS-Kernel/tasks.c
${LIB_ROOT}/submodules/FreeRTOS-Kernel/queue.c
${LIB_ROOT}/submodules/FreeRTOS-Kernel/list.c
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/port.c
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/MemMang/heap_3.c
${LIB_ROOT}/submodules/FreeRTOS-Kernel/event_groups.c
${LIB_ROOT}/submodules/FreeRTOS-Kernel/timers.c
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/exception.c
)
# Link against FreeRTOS, Pico SDK, and freertos_config
target_link_libraries(ex1_task_hello pico_stdlib)
pico_add_extra_outputs(ex1_task_hello)
pico_enable_stdio_usb( ex1_task_hello 1)
pico_enable_stdio_uart(ex1_task_hello 0)