Init commit
This commit is contained in:
64
freertos/CMakeLists.txt
Normal file
64
freertos/CMakeLists.txt
Normal file
@ -0,0 +1,64 @@
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
set(LIB_FREERTOS_NAME freertos)
|
||||
add_library(${LIB_FREERTOS_NAME})
|
||||
|
||||
foreach(FREERTOS_PORT_SRC ${FREERTOS_PORT_SOURCES})
|
||||
if(IS_ABSOLUTE ${FREERTOS_PORT_SRC})
|
||||
set(${CURR_FREERTOS_PORT_SRC} ${FREERTOS_PORT_SRC})
|
||||
else()
|
||||
get_filename_component(CURR_FREERTOS_PORT_SRC
|
||||
${FREERTOS_PORT_SRC} REALPATH BASE_DIR ${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
list(APPEND FREERTOS_PORT_SOURCES_ABS ${CURR_FREERTOS_PORT_SRC})
|
||||
endforeach()
|
||||
|
||||
target_sources(${LIB_FREERTOS_NAME} PRIVATE
|
||||
src/croutine.c
|
||||
src/event_groups.c
|
||||
src/list.c
|
||||
src/queue.c
|
||||
src/stream_buffer.c
|
||||
src/tasks.c
|
||||
src/timers.c
|
||||
"${FREERTOS_PORT_SOURCES_ABS}"
|
||||
)
|
||||
|
||||
if(NOT FREERTOS_CONFIG_AND_PORT_PATHS)
|
||||
message(WARNING
|
||||
"FREERTOS_CONFIG_AND_PORT_PATHS list of FreeRTOS includes was not "
|
||||
"supplied, build might fail!"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Convert supplied FreeRTOS config and port includes to absolute paths.
|
||||
foreach(FREERTOS_PATH ${FREERTOS_CONFIG_AND_PORT_PATHS})
|
||||
if(IS_ABSOLUTE ${FREERTOS_PATH})
|
||||
set(CURR_ABS_FREERTOS_PATH "${FREERTOS_PATH}")
|
||||
else()
|
||||
get_filename_component(CURR_ABS_FREERTOS_PATH
|
||||
${FREERTOS_PATH} REALPATH BASE_DIR ${CMAKE_SOURCE_DIR})
|
||||
endif()
|
||||
|
||||
if(CMAKE_VERBOSE)
|
||||
message(STATUS "FreeRTOS configuration path: ${CURR_ABS_FREERTOS_PATH}")
|
||||
endif()
|
||||
|
||||
list(APPEND FREERTOS_PATHS_ABSOLUTE ${CURR_ABS_FREERTOS_PATH})
|
||||
endforeach()
|
||||
|
||||
|
||||
# Required include paths to compile FreeRTOS
|
||||
target_include_directories(${LIB_FREERTOS_NAME} INTERFACE
|
||||
${CMAKE_SOURCE_DIR}
|
||||
inc
|
||||
inc/freertos
|
||||
${FREERTOS_PATHS_ABSOLUTE}
|
||||
)
|
||||
|
||||
target_include_directories(${LIB_FREERTOS_NAME} PRIVATE
|
||||
inc/freertos
|
||||
${FREERTOS_PATHS_ABSOLUTE}
|
||||
)
|
Reference in New Issue
Block a user