Przeglądaj źródła

Merge pull request #154 from Hish15/FixFreeRTOS

Fix free rtos
Konstantin Oblaukhov 5 lat temu
rodzic
commit
ba7cb9d376
2 zmienionych plików z 7 dodań i 4 usunięć
  1. 1 1
      README.md
  2. 6 3
      cmake/FindFreeRTOS.cmake

+ 1 - 1
README.md

@@ -135,7 +135,7 @@ stm32-cmake contains additional CMake modules for finding and configuring variou
 
 ## FreeRTOS
 
-[cmake/FindFreeRTOS](cmake/FindFreeRTOS) - finds FreeRTOS sources in location specified by `FREERTOS_PATH` (*default*: `/opt/FreeRTOS`) variable and format them as `IMPORTED` targets. 
+[cmake/FindFreeRTOS](cmake/FindFreeRTOS) - finds FreeRTOS sources in location specified by `FREERTOS_PATH` (*default*: `/opt/FreeRTOS`) variable and format them as `IMPORTED` targets. `FREERTOS_PATH` can be either the path to the whole [FreeRTOS/FreeRTOS](https://github.com/FreeRTOS/FreeRTOS) github repo, or the path to FreeRTOS-Kernel (usually located in the subfolder `FreeRTOS` on a downloaded release)
 Typical usage:
 
 ```

+ 6 - 3
cmake/FindFreeRTOS.cmake

@@ -14,14 +14,16 @@ endif()
 
 find_path(FreeRTOS_COMMON_INCLUDE
     NAMES FreeRTOS.h
-    PATHS "${FREERTOS_PATH}/Source/include"
+    PATHS "${FREERTOS_PATH}" "${FREERTOS_PATH}/FreeRTOS" 
+    PATH_SUFFIXES  "Source/include"
     NO_DEFAULT_PATH
 )
 list(APPEND FreeRTOS_INCLUDE_DIRS "${FreeRTOS_COMMON_INCLUDE}")
 
 find_path(FreeRTOS_SOURCE_DIR
     NAMES tasks.c
-    PATHS "${FREERTOS_PATH}/Source"
+    PATHS "${FREERTOS_PATH}" "${FREERTOS_PATH}/FreeRTOS" 
+    PATH_SUFFIXES  "Source"
     NO_DEFAULT_PATH
 )
 if(NOT (TARGET FreeRTOS))
@@ -69,7 +71,8 @@ endforeach()
 foreach(PORT ${FreeRTOS_FIND_COMPONENTS})
     find_path(FreeRTOS_${PORT}_PATH
         NAMES portmacro.h
-        PATHS "${FREERTOS_PATH}/Source/portable/GCC/${PORT}"
+        PATHS "${FREERTOS_PATH}" "${FREERTOS_PATH}/FreeRTOS" 
+        PATH_SUFFIXES "Source/portable/GCC/${PORT}"  "Source/portable/GCC/${PORT}/r0p1"
         NO_DEFAULT_PATH
     )
     list(APPEND FreeRTOS_INCLUDE_DIRS "${FreeRTOS_${PORT}_PATH}")