add cmake RTOS=zephyr (default noos) for zephyr build

This commit is contained in:
hathach
2025-01-24 15:06:05 +07:00
parent 201b9707b9
commit b53801a8ac
61 changed files with 100 additions and 116 deletions

View File

@@ -1,21 +1,25 @@
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER "arm-none-eabi-gcc")
endif ()
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER "arm-none-eabi-g++")
endif ()
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
find_program(CMAKE_SIZE arm-none-eabi-size)
find_program(CMAKE_OBJCOPY arm-none-eabi-objcopy)
find_program(CMAKE_OBJDUMP arm-none-eabi-objdump)
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
if (IS_IN_TRY_COMPILE)
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
cmake_print_variables(CMAKE_C_LINK_FLAGS)
if (RTOS STREQUAL zephyr)
else ()
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER "arm-none-eabi-gcc")
endif ()
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER "arm-none-eabi-g++")
endif ()
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
find_program(CMAKE_SIZE arm-none-eabi-size)
find_program(CMAKE_OBJCOPY arm-none-eabi-objcopy)
find_program(CMAKE_OBJDUMP arm-none-eabi-objdump)
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
if (IS_IN_TRY_COMPILE)
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
cmake_print_variables(CMAKE_C_LINK_FLAGS)
endif ()
endif ()

View File

@@ -1,7 +1,3 @@
if (BUILD_ZEPHYR)
return()
endif()
include(CMakePrintHelpers)
# ----------------------------------------------------------------------------

View File

@@ -5,11 +5,6 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
# gets PROJECT name for the example (e.g. <BOARD>-<DIR_NAME>)
family_get_project_name(PROJECT ${CMAKE_CURRENT_LIST_DIR})
if (BUILD_ZEPHYR)
set(BOARD_ROOT ${TOP}/hw/bsp/${FAMILY})
find_package(Zephyr REQUIRED HINTS ${TOP}/lib/zephyr)
endif ()
project(${PROJECT} C CXX ASM)
# Checks this example is valid for the family and initializes the project
@@ -20,7 +15,7 @@ if(FAMILY STREQUAL "espressif")
return()
endif()
if (BUILD_ZEPHYR)
if (RTOS STREQUAL zephyr)
set(EXE_NAME app)
else()
set(EXE_NAME ${PROJECT})
@@ -39,8 +34,4 @@ target_include_directories(${EXE_NAME} PUBLIC
# Configure compilation flags and libraries for the example without RTOS.
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
if (BUILD_ZEPHYR)
family_configure_device_example(${EXE_NAME} zephyr)
else()
family_configure_device_example(${EXE_NAME} noos)
endif()
family_configure_device_example(${EXE_NAME} ${RTOS})

View File

@@ -16,7 +16,7 @@ if(FAMILY STREQUAL "espressif")
return()
endif()
if (BUILD_ZEPHYR)
if (RTOS STREQUAL zephyr)
set(EXE_NAME app)
else()
set(EXE_NAME ${PROJECT})
@@ -37,8 +37,4 @@ target_include_directories(${EXE_NAME} PUBLIC
# Configure compilation flags and libraries for the example without RTOS.
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
if (BUILD_ZEPHYR)
family_configure_device_example(${EXE_NAME} zephyr)
else()
family_configure_device_example(${EXE_NAME} noos)
endif()
family_configure_device_example(${EXE_NAME} ${RTOS})

View File

@@ -15,7 +15,7 @@ if(FAMILY STREQUAL "espressif")
return()
endif()
if (BUILD_ZEPHYR)
if (RTOS STREQUAL zephyr)
set(EXE_NAME app)
else()
set(EXE_NAME ${PROJECT})
@@ -36,8 +36,4 @@ target_include_directories(${EXE_NAME} PUBLIC
# Configure compilation flags and libraries for the example without RTOS.
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
if (BUILD_ZEPHYR)
family_configure_device_example(${EXE_NAME} zephyr)
else()
family_configure_device_example(${EXE_NAME} noos)
endif()
family_configure_device_example(${EXE_NAME} ${RTOS})