freertos: fixed ORIG_INCLUDE_PATH cmake property having the wrong path

FreeRTOS include path was changed, but ORIG_INCLUDE_PATH wasn't updated to reflect this.
This commit is contained in:
Marius Vikhammer 2022-08-24 18:31:45 +08:00
parent 39c47cb6d8
commit 7f4fa696e1
8 changed files with 40 additions and 1 deletions

View File

@ -140,7 +140,12 @@ idf_component_register(SRCS "${srcs}"
PRIV_REQUIRES soc esp_pm)
idf_component_get_property(COMPONENT_DIR freertos COMPONENT_DIR)
idf_component_set_property(freertos ORIG_INCLUDE_PATH "${COMPONENT_DIR}/include/freertos/")
if(CONFIG_FREERTOS_SMP)
idf_component_set_property(freertos ORIG_INCLUDE_PATH "${COMPONENT_DIR}/FreeRTOS-Kernel-SMP/include/freertos/")
else()
idf_component_set_property(freertos ORIG_INCLUDE_PATH "${COMPONENT_DIR}/FreeRTOS-Kernel/include/freertos/")
endif()
if(CONFIG_FREERTOS_DEBUG_OCDAWARE)
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--undefined=uxTopUsedPriority") #will be removed

View File

@ -0,0 +1,6 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
components/freertos/test_apps/orig_inc_path:
enable:
- if: IDF_TARGET in ["esp32"]
reason: The feature only depends on the build system, nothing target-specific that needs to be tested

View File

@ -0,0 +1,6 @@
# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.16)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(test_freertos_orig_inc_path)

View File

@ -0,0 +1,2 @@
| Supported Targets | ESP32 |
| ----------------- | ----- |

View File

@ -0,0 +1,6 @@
idf_component_register(SRCS "test_main.c"
INCLUDE_DIRS ".")
# Update include path to not include the directory, i.e. "task.h" instead of "freertos/task.h"
idf_component_get_property(FREERTOS_ORIG_INCLUDE_PATH freertos ORIG_INCLUDE_PATH)
target_include_directories(${COMPONENT_TARGET} PRIVATE "${FREERTOS_ORIG_INCLUDE_PATH}")

View File

@ -0,0 +1,13 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* Check that freeRTOS headers can be included without the 'freertos/' directory path prefix */
#include "FreeRTOS.h"
#include "task.h"
void app_main(void)
{
}

View File

@ -0,0 +1 @@
CONFIG_FREERTOS_SMP=y