esp-idf/tools/mocks/freertos/CMakeLists.txt
Darian Leung 66499f17a5 freertos: Refactor component structure
This commit refactors the "freertos" component's structure as follows:

- "FreeRTOSConfig.h" related files moved to "./config" directory
- Refactored CMakeLists.txt file in preparation for v10.5.1 upgrade
    - Grouped list appends based on component organization
    - Removed some unecessarily public "include_dirs"
- Removed FreeRTOS-openocd.c
    - uxTopUsedPriority has been added back to tasks.c since v10.4.2
    - Thus the workaround in FreeRTOS-openocd.c is no longer needed and can
      be removed.
2023-05-08 18:40:03 +08:00

28 lines
1.3 KiB
CMake

# NOTE: This kind of mocking currently works on Linux targets only.
# On Espressif chips, too many dependencies are missing at the moment.
message(STATUS "building FREERTOS MOCKS (only task, event-groups and queue)")
idf_component_get_property(original_freertos_dir freertos COMPONENT_OVERRIDEN_DIR)
set(kernel_dir "${original_freertos_dir}/FreeRTOS-Kernel")
set(include_dirs
"${kernel_dir}/include"
"${original_freertos_dir}/config/include" # For "freertos/FreeRTOSConfig.h"
"${original_freertos_dir}/config/include/freertos" # For "FreeRTOSConfig.h"
"${original_freertos_dir}/config/linux/include" # For "freertos/FreeRTOSConfig_arch.h"
"${original_freertos_dir}/esp_additions/include"
"${kernel_dir}/portable/linux/include" # For "freertos/portmacro.h"
"${kernel_dir}/include/freertos" # this is due to the way includes are generated in CMock (without freertos prefix)
)
idf_component_mock(INCLUDE_DIRS ${include_dirs}
REQUIRES esp_common
MOCK_HEADER_FILES
${original_freertos_dir}/FreeRTOS-Kernel/include/freertos/task.h
${original_freertos_dir}/FreeRTOS-Kernel/include/freertos/event_groups.h
${original_freertos_dir}/FreeRTOS-Kernel/include/freertos/queue.h)
idf_component_get_property(freertos_lib freertos COMPONENT_LIB)
target_compile_definitions(${freertos_lib} PUBLIC "projCOVERAGE_TEST=0")