Skip to content

Commit

Permalink
Merge branch 'bugfix/freertos_org_inc_path' into 'master'
Browse files Browse the repository at this point in the history
freertos: fixed ORIG_INCLUDE_PATH cmake property having the wrong path

Closes IDF-4464

See merge request espressif/esp-idf!19757
  • Loading branch information
ESP-Marius committed Aug 26, 2022
2 parents 8e361d3 + 38d3054 commit e219510
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 1 deletion.
7 changes: 6 additions & 1 deletion components/freertos/CMakeLists.txt
Expand Up @@ -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
Expand Down
6 changes: 6 additions & 0 deletions components/freertos/test_apps/.build-test-rules.yml
@@ -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
6 changes: 6 additions & 0 deletions components/freertos/test_apps/orig_inc_path/CMakeLists.txt
@@ -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)
2 changes: 2 additions & 0 deletions components/freertos/test_apps/orig_inc_path/README.md
@@ -0,0 +1,2 @@
| Supported Targets | ESP32 |
| ----------------- | ----- |
@@ -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}")
13 changes: 13 additions & 0 deletions components/freertos/test_apps/orig_inc_path/main/test_main.c
@@ -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)
{
}
Empty file.
@@ -0,0 +1 @@
CONFIG_FREERTOS_SMP=y

0 comments on commit e219510

Please sign in to comment.