improved source file handling

This commit is contained in:
Robin Mueller 2021-03-25 20:24:32 +01:00
parent dd91054687
commit ed7e0ed245

View file

@ -33,6 +33,13 @@ add_library(${LIB_FREERTOS_NAME})
# Source file handling # Source file handling
#################################################################################################### ####################################################################################################
if(NOT FREERTOS_ADDITIONAL_SOURCES)
message(WARNING
"FREERTOS_ADDITIONAL_SOURCES list of FreeRTOS sources was not "
"supplied, build might fail!"
)
endif()
# Convert supplied additional sources to absolute path version. The user should set # Convert supplied additional sources to absolute path version. The user should set
# a list of sources like the port source and the selected memory management source file. # a list of sources like the port source and the selected memory management source file.
foreach(FREERTOS_ADDITIONAL_SRC ${FREERTOS_ADDITIONAL_SOURCES}) foreach(FREERTOS_ADDITIONAL_SRC ${FREERTOS_ADDITIONAL_SOURCES})
@ -50,27 +57,33 @@ foreach(FREERTOS_ADDITIONAL_SRC ${FREERTOS_ADDITIONAL_SOURCES})
list(APPEND FREERTOS_ADDITIONAL_SOURCES_ABS ${CURRENT_ADDITIONAL_SRC}) list(APPEND FREERTOS_ADDITIONAL_SOURCES_ABS ${CURRENT_ADDITIONAL_SRC})
endforeach() endforeach()
target_sources(${LIB_FREERTOS_NAME} PRIVATE # Can be used if the sources are packaged inside a separate folder.
croutine.c if(NOT FREERTOS_KERNEL_SOURCE_FOLDER)
event_groups.c set(FREERTOS_KERNEL_SOURCE_FOLDER ${CMAKE_CURRENT_SOURCE_DIR})
list.c
queue.c
stream_buffer.c
tasks.c
timers.c
)
if(NOT FREERTOS_ADDITIONAL_SOURCES)
message(WARNING
"FREERTOS_ADDITIONAL_SOURCES list of FreeRTOS includes was not "
"supplied, build might fail!"
)
endif() endif()
target_sources(${LIB_FREERTOS_NAME} PRIVATE
${FREERTOS_KERNEL_SOURCE_FOLDER}/croutine.c
${FREERTOS_KERNEL_SOURCE_FOLDER}/event_groups.c
${FREERTOS_KERNEL_SOURCE_FOLDER}/list.c
${FREERTOS_KERNEL_SOURCE_FOLDER}/queue.c
${FREERTOS_KERNEL_SOURCE_FOLDER}/stream_buffer.c
${FREERTOS_KERNEL_SOURCE_FOLDER}/tasks.c
${FREERTOS_KERNEL_SOURCE_FOLDER}/timers.c
${FREERTOS_ADDITIONAL_SOURCES_ABS}
)
#################################################################################################### ####################################################################################################
# Include handling # Include handling
#################################################################################################### ####################################################################################################
if(NOT FREERTOS_ADDITIONAL_INCLUDE_PATHS)
message(WARNING
"FREERTOS_ADDITIONAL_INCLUDE_PATHS list of external FreeRTOS includes was not supplied, "
" build might fail!"
)
endif()
# Convert supplied FreeRTOS includes paths to absolute paths. The user should set # Convert supplied FreeRTOS includes paths to absolute paths. The user should set
# the path containing files like FreeRTOSConfig.h # the path containing files like FreeRTOSConfig.h
foreach(FREERTOS_ADDITIONAL_INC ${FREERTOS_ADDITIONAL_INCLUDE_PATHS}) foreach(FREERTOS_ADDITIONAL_INC ${FREERTOS_ADDITIONAL_INCLUDE_PATHS})