mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 13:01:57 -04:00
Cmake: Create a single static library including port
Modify portable/CMakeLists.txt to create only one static library containing both the common kernel code and kernel port. Change the freertos_kernel_port target from a STATIC library to an OBJECT library and introduce a new freertos_kernel_port_headers INTERFACE library target. --------- Co-authored-by: ABARNAT <ahmed.barnat@actia-engineering.tn> Co-authored-by: Soren Ptak <ptaksoren@gmail.com> Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
This commit is contained in:
parent
8622bd5f49
commit
c565fd45c1
|
@ -217,16 +217,17 @@ elseif((FREERTOS_PORT STREQUAL "A_CUSTOM_PORT") AND (NOT TARGET freertos_kernel_
|
|||
" port.c\n"
|
||||
" portmacro.h\n"
|
||||
" Where FreeRTOSCustomPort/CMakeLists.txt is a modified version of:\n"
|
||||
" add_library(freertos_kernel_port STATIC)\n"
|
||||
" add_library(freertos_kernel_port OBJECT)\n"
|
||||
" target_sources(freertos_kernel_port\n"
|
||||
" PRIVATE\n"
|
||||
" port.c\n"
|
||||
" portmacro.h)\n"
|
||||
" target_include_directories(freertos_kernel_port\n"
|
||||
" PUBLIC\n"
|
||||
" add_library(freertos_kernel_port_headers INTERFACE)\n"
|
||||
" target_include_directories(freertos_kernel_port_headers INTERFACE \n"
|
||||
" .)\n"
|
||||
" target_link_libraries(freertos_kernel_port\n"
|
||||
" PRIVATE\n"
|
||||
" freertos_kernel_port_headers\n"
|
||||
" freertos_kernel_include)")
|
||||
endif()
|
||||
|
||||
|
@ -257,8 +258,11 @@ endif()
|
|||
|
||||
target_link_libraries(freertos_kernel
|
||||
PUBLIC
|
||||
freertos_kernel_port
|
||||
freertos_kernel_include
|
||||
freertos_kernel_port_headers
|
||||
PRIVATE
|
||||
freertos_kernel_port
|
||||
|
||||
)
|
||||
|
||||
########################################################################
|
||||
|
|
|
@ -15,7 +15,7 @@ endif()
|
|||
|
||||
# FreeRTOS internal cmake file. Do not use it in user top-level project
|
||||
|
||||
add_library(freertos_kernel_port STATIC
|
||||
add_library(freertos_kernel_port OBJECT
|
||||
# TEMPLATE Port
|
||||
$<$<STREQUAL:${FREERTOS_PORT},TEMPLATE>:
|
||||
template/port.c>
|
||||
|
@ -755,8 +755,9 @@ if( FREERTOS_PORT MATCHES "GCC_ARM_CM(3|4)_MPU" OR
|
|||
Common/mpu_wrappers_v2.c
|
||||
)
|
||||
endif()
|
||||
add_library(freertos_kernel_port_headers INTERFACE)
|
||||
|
||||
target_include_directories(freertos_kernel_port PUBLIC
|
||||
target_include_directories(freertos_kernel_port_headers INTERFACE
|
||||
# TEMPLATE Port
|
||||
$<$<STREQUAL:${FREERTOS_PORT},TEMPLATE>:${CMAKE_CURRENT_LIST_DIR}/template>
|
||||
|
||||
|
@ -1094,6 +1095,7 @@ target_link_libraries(freertos_kernel_port
|
|||
PUBLIC
|
||||
$<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:pico_base_headers>
|
||||
$<$<STREQUAL:${FREERTOS_PORT},GCC_XTENSA_ESP32>:idf::esp32>
|
||||
freertos_kernel_port_headers
|
||||
PRIVATE
|
||||
freertos_kernel_include
|
||||
$<$<STREQUAL:${FREERTOS_PORT},GCC_POSIX>:Threads::Threads>
|
||||
|
|
Loading…
Reference in a new issue