From 8e13f90d45bb7c5b6ac54d8516468390c26fcf0c Mon Sep 17 00:00:00 2001 From: liodek01 Date: Thu, 24 Jun 2021 12:14:47 +0300 Subject: adding ThreadX to rtos CMakeLists.txt Change-Id: Id54df3d56e85c995842d5330b6a7b6e8129440ce --- rtos/CMakeLists.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/rtos/CMakeLists.txt b/rtos/CMakeLists.txt index 941ba32..299474d 100644 --- a/rtos/CMakeLists.txt +++ b/rtos/CMakeLists.txt @@ -21,3 +21,21 @@ if(CORE_SOFTWARE_RTOS_LOWER STREQUAL "freertos" OR CORE_SOFTWARE_RTOS_LOWER STRE set(FREERTOS_KERNEL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/freertos/freertos_kernel" CACHE PATH "Path to FreeRTOS kernel.") add_subdirectory(freertos_config) endif() + +# Include ThreadX +if(CORE_SOFTWARE_RTOS_LOWER STREQUAL "threadx" OR CORE_SOFTWARE_RTOS_LOWER STREQUAL "all") + #threadx build requires 2 defines: THREADX_ARCH (format: cortex_m4) and THREADX_TOOLCHAIN (ac5/ac6/gnu). + #set them according to existing defines CMAKE_SYSTEM_PROCESSOR and CMAKE_CXX_COMPILER_ID: + string(REPLACE "-" "_" THREADX_ARCH ${CMAKE_SYSTEM_PROCESSOR}) + string(TOLOWER ${CMAKE_CXX_COMPILER_ID} THREADX_TOOLCHAIN) + #if armclang, change the format to "ac6". + if(THREADX_TOOLCHAIN STREQUAL "armclang") + set(THREADX_TOOLCHAIN "ac6") + endif() + #if ThreadX supports this configuration, build ThreadX. + if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/threadx/ports/${THREADX_ARCH}/${THREADX_TOOLCHAIN}/CMakeLists.txt) + add_subdirectory(threadx) + else() + message(STATUS "Skipping ThreadX build - doesn't support toolchain=${THREADX_TOOLCHAIN} and cpu=${THREADX_ARCH}") + endif() +endif() -- cgit v1.2.1