MCUXpresso_MIMXRT1052xxxxB/rtos/azure-rtos/middleware_azure_rtos_tx_te...

226 lines
12 KiB
CMake

# Add set(CONFIG_USE_middleware_azure_rtos_tx_template true) in config.cmake to use this component
include_guard(GLOBAL)
message("${CMAKE_CURRENT_LIST_FILE} component is included.")
if((CONFIG_TOOLCHAIN STREQUAL mcux OR CONFIG_TOOLCHAIN STREQUAL armgcc) AND CONFIG_CORE STREQUAL cm7f)
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/src/tx_misra.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/src/tx_thread_context_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/src/tx_thread_context_save.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/src/tx_thread_interrupt_control.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/src/tx_thread_interrupt_disable.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/src/tx_thread_interrupt_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/src/tx_thread_schedule.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/src/tx_thread_stack_build.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/src/tx_thread_system_return.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/src/tx_timer_interrupt.S
)
endif()
if((CONFIG_TOOLCHAIN STREQUAL mcux OR CONFIG_TOOLCHAIN STREQUAL armgcc) AND CONFIG_CORE STREQUAL cm4f)
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/src/tx_misra.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/src/tx_thread_context_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/src/tx_thread_context_save.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/src/tx_thread_interrupt_control.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/src/tx_thread_interrupt_disable.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/src/tx_thread_interrupt_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/src/tx_thread_schedule.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/src/tx_thread_stack_build.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/src/tx_thread_system_return.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/src/tx_timer_interrupt.S
)
endif()
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/common/tx_initialize_low_level.c
)
if(CONFIG_TOOLCHAIN STREQUAL iar AND CONFIG_CORE STREQUAL cm7f)
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/iar/src/tx_thread_context_restore.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/iar/src/tx_thread_context_save.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/iar/src/tx_thread_interrupt_control.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/iar/src/tx_thread_interrupt_disable.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/iar/src/tx_thread_interrupt_restore.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/iar/src/tx_thread_schedule.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/iar/src/tx_thread_stack_build.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/iar/src/tx_thread_system_return.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/iar/src/tx_timer_interrupt.s
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL iar AND CONFIG_CORE STREQUAL cm4f)
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/iar/src/tx_thread_context_restore.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/iar/src/tx_thread_context_save.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/iar/src/tx_thread_interrupt_control.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/iar/src/tx_thread_interrupt_disable.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/iar/src/tx_thread_interrupt_restore.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/iar/src/tx_thread_schedule.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/iar/src/tx_thread_stack_build.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/iar/src/tx_thread_system_return.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/iar/src/tx_timer_interrupt.s
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL mdk AND CONFIG_CORE STREQUAL cm7f)
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/ac6/src/tx_thread_context_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/ac6/src/tx_thread_context_save.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/ac6/src/tx_thread_interrupt_control.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/ac6/src/tx_thread_interrupt_disable.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/ac6/src/tx_thread_interrupt_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/ac6/src/tx_thread_schedule.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/ac6/src/tx_thread_stack_build.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/ac6/src/tx_thread_system_return.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/ac6/src/tx_timer_interrupt.S
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL mdk AND CONFIG_CORE STREQUAL cm4f)
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/ac6/src/tx_thread_context_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/ac6/src/tx_thread_context_save.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/ac6/src/tx_thread_interrupt_control.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/ac6/src/tx_thread_interrupt_disable.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/ac6/src/tx_thread_interrupt_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/ac6/src/tx_thread_schedule.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/ac6/src/tx_thread_stack_build.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/ac6/src/tx_thread_system_return.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/ac6/src/tx_timer_interrupt.S
)
endif()
if((CONFIG_TOOLCHAIN STREQUAL mcux OR CONFIG_TOOLCHAIN STREQUAL armgcc) AND CONFIG_CORE STREQUAL cm33)
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/gnu/src/tx_thread_context_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/gnu/src/tx_thread_context_save.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/gnu/src/tx_thread_interrupt_control.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/gnu/src/tx_thread_interrupt_disable.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/gnu/src/tx_thread_interrupt_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/gnu/src/tx_thread_schedule.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/gnu/src/tx_thread_stack_build.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/gnu/src/tx_thread_system_return.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/gnu/src/tx_timer_interrupt.S
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL iar AND CONFIG_CORE STREQUAL cm33)
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_iar.c
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_misra.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_context_restore.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_context_save.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_interrupt_control.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_interrupt_disable.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_interrupt_restore.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_schedule.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_secure_stack.c
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_secure_stack_allocate.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_secure_stack_free.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_secure_stack_initialize.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_stack_build.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_thread_system_return.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/tx_timer_interrupt.s
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/txe_thread_secure_stack_allocate.c
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/src/txe_thread_secure_stack_free.c
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL mdk AND CONFIG_CORE STREQUAL cm33)
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_misra.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_context_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_context_save.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_interrupt_control.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_interrupt_disable.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_interrupt_restore.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_schedule.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_secure_stack.c
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_secure_stack_allocate.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_secure_stack_free.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_secure_stack_initialize.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_stack_build.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_thread_system_return.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/tx_timer_interrupt.S
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/txe_thread_secure_stack_allocate.c
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/src/txe_thread_secure_stack_free.c
)
endif()
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/threadx/common/inc
)
if(CONFIG_TOOLCHAIN STREQUAL iar AND CONFIG_CORE STREQUAL cm7f)
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/iar/inc
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL iar AND CONFIG_CORE STREQUAL cm4f)
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/iar/inc
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL mdk AND CONFIG_CORE STREQUAL cm7f)
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/ac6/inc
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL mdk AND CONFIG_CORE STREQUAL cm4f)
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/ac6/inc
)
endif()
if((CONFIG_TOOLCHAIN STREQUAL armgcc OR CONFIG_TOOLCHAIN STREQUAL mcux) AND CONFIG_CORE STREQUAL cm7f)
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m7/gnu/inc
)
endif()
if((CONFIG_TOOLCHAIN STREQUAL armgcc OR CONFIG_TOOLCHAIN STREQUAL mcux) AND CONFIG_CORE STREQUAL cm4f)
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m4/gnu/inc
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL iar AND CONFIG_CORE STREQUAL cm33)
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/iar/inc
)
endif()
if(CONFIG_TOOLCHAIN STREQUAL mdk AND CONFIG_CORE STREQUAL cm33)
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/ac6/inc
)
endif()
if((CONFIG_TOOLCHAIN STREQUAL armgcc OR CONFIG_TOOLCHAIN STREQUAL mcux) AND CONFIG_CORE STREQUAL cm33)
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/threadx/ports/cortex_m33/gnu/inc
)
endif()
if(CONFIG_USE_COMPONENT_CONFIGURATION)
message("===>Import configuration from ${CMAKE_CURRENT_LIST_FILE}")
target_compile_definitions(${MCUX_SDK_PROJECT_NAME} PUBLIC
-DTX_INCLUDE_USER_DEFINE_FILE
-DFSL_RTOS_THREADX
)
if(CONFIG_TOOLCHAIN STREQUAL armgcc)
target_compile_options(${MCUX_SDK_PROJECT_NAME} PUBLIC
)
endif()
endif()