import
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(RTOS C ASM)
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
|
||||
if (NOT DEFINED RTOS_KERNEL_TYPE)
|
||||
set(RTOS_KERNEL_TYPE "SingleCore")
|
||||
endif ()
|
||||
|
||||
set(BASE_PATH ${CMAKE_CURRENT_LIST_DIR}/Base)
|
||||
set(KERNEL_PATH ${CMAKE_CURRENT_LIST_DIR}/Kernel/$ENV{RTOS_KERNEL_TYPE})
|
||||
set(CPU_PATH ${CMAKE_CURRENT_LIST_DIR}/CPU)
|
||||
set(APPKIT_PATH ${CMAKE_CURRENT_LIST_DIR}/AppKit)
|
||||
set(DEVICE_KIT_PATH ${CMAKE_CURRENT_LIST_DIR}/DeviceKit)
|
||||
|
||||
if (NOT EXISTS ${KERNEL_PATH})
|
||||
message(FATAL_ERROR "KERNEL_PATH: ${KERNEL_PATH} doesn't exist!!!")
|
||||
endif ()
|
||||
|
||||
if (NOT DEFINED CPU_PORT_NAME)
|
||||
set(CPU_PORT_NAME $ENV{RTOS_PORT_NAME})
|
||||
if(NOT EXISTS ${CPU_PATH}/${RTOS_PORT_NAME})
|
||||
message(FATAL_ERROR "CPU Port Not Exist: ${CPU_PATH}/${CPU_PORT_NAME}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
set(CPU_PORT_PATH ${CPU_PATH}/${CPU_PORT_NAME})
|
||||
|
||||
configure_file(${KERNEL_PATH}/os_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/os_config.h @ONLY)
|
||||
|
||||
file(GLOB BASE_SOURCES ${BASE_PATH}/*.c)
|
||||
file(GLOB KERNEL_SOURCES ${KERNEL_PATH}/*.c)
|
||||
file(GLOB CPU_PORT_SOURCES ${CPU_PORT_PATH}/*.c)
|
||||
file(GLOB APPKIT_SOURCES ${APPKIT_PATH}/*.c)
|
||||
file(GLOB DEVICE_KIT_SOURCES ${DEVICE_KIT_PATH}/*.c)
|
||||
|
||||
if (CMAKE_C_COMPILER_ID MATCHES GNU)
|
||||
file(GLOB CPU_ASM_SOURCES ${CPU_PORT_PATH}/*_gnu.S)
|
||||
endif ()
|
||||
|
||||
if (CMAKE_C_COMPILER_ID MATCHES ARMCC)
|
||||
file(GLOB CPU_ASM_SOURCES ${CPU_PORT_PATH}/*_armcc.S)
|
||||
endif ()
|
||||
|
||||
set(RTOS_SOURCES ${BASE_SOURCES} ${KERNEL_SOURCES} ${CPU_PORT_SOURCES} ${CPU_ASM_SOURCES} ${APPKIT_SOURCES} ${DEVICE_KIT_SOURCES} PARENT_SCOPE)
|
||||
set(RTOS_INCLUDE_PATH ${BASE_PATH} ${KERNEL_PATH} ${CPU_PORT_PATH} ${APPKIT_PATH} ${CMAKE_CURRENT_BINARY_DIR} ${DEVICE_KIT_PATH} PARENT_SCOPE)
|
||||
Reference in New Issue
Block a user