mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/cmake-demo.git
synced 2025-06-10 02:25:59 +00:00
88 lines
2.3 KiB
CMake
88 lines
2.3 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/libs/stm32-cmake/cmake/stm32_gcc.cmake)
|
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/libs/stm32-cmake/cmake)
|
|
|
|
project(demo C CXX ASM)
|
|
|
|
################## TOOLCHAIN SETUP ####################################
|
|
find_package(HAL COMPONENTS STM32F4 REQUIRED)
|
|
find_package(FreeRTOS COMPONENTS ARM_CM4F STM32F4 REQUIRED)
|
|
find_package(CMSIS COMPONENTS STM32F407ZG RTOS_V2 REQUIRED)
|
|
#######################################################################
|
|
|
|
set (PROJECT_SOURCES
|
|
core/src/main.c
|
|
core/src/freertos.c
|
|
core/src/adc.c
|
|
core/src/gpio.c
|
|
core/src/can.c
|
|
core/src/dma.c
|
|
core/src/spi.c
|
|
core/src/tim.c
|
|
core/src/usart.c
|
|
core/src/syscalls.c
|
|
core/src/sysmem.c
|
|
core/src/stm32f4xx_it.c
|
|
core/src/stm32f4xx_hal_msp.c
|
|
core/src/stm32f4xx_hal_timebase_tim.c
|
|
|
|
# Application specific
|
|
App/Src/shared.cpp
|
|
App/Src/startup.cpp
|
|
App/Src/tasks/arming.cpp
|
|
App/Src/tasks/fire.cpp
|
|
App/Src/tasks/sense.cpp
|
|
)
|
|
|
|
set (PROJECT_INCLUDES
|
|
core/inc/
|
|
|
|
# Application specific
|
|
App/Inc/
|
|
libs/STAHR-defs/
|
|
)
|
|
|
|
############ Libraries ###############################################
|
|
# STA-CORE
|
|
add_subdirectory(libs/sta-core)
|
|
list(APPEND PROJECT_SOURCES ${STA_CORE_SOURCES})
|
|
list(APPEND PROJECT_INCLUDES ${STA_CORE_INCLUDES})
|
|
# rtos2-utils
|
|
add_subdirectory(libs/rtos2-utils)
|
|
list(APPEND PROJECT_SOURCES ${RTOS2_UTILS_SOURCES})
|
|
list(APPEND PROJECT_INCLUDES ${RTOS2_UTILS_INCLUDES})
|
|
# TACOS
|
|
add_subdirectory(libs/TACOS)
|
|
list(APPEND PROJECT_SOURCES ${TACOS_SOURCES})
|
|
list(APPEND PROJECT_INCLUDES ${TACOS_INCLUDES})
|
|
#######################################################################
|
|
|
|
# ################## PROJECT SETUP ######################################
|
|
add_executable(demo ${PROJECT_SOURCES})
|
|
target_link_libraries(demo PRIVATE
|
|
FreeRTOS::STM32::F4::ARM_CM4F
|
|
FreeRTOS::STM32::F4::Timers
|
|
FreeRTOS::STM32::F4::Heap::4
|
|
FreeRTOS::STM32::F4::EventGroups
|
|
CMSIS::STM32::F4::RTOS_V2
|
|
CMSIS::STM32::F407ZG
|
|
HAL::STM32::F4
|
|
HAL::STM32::F4::ADC
|
|
HAL::STM32::F4::CAN
|
|
HAL::STM32::F4::GPIO
|
|
HAL::STM32::F4::UART
|
|
HAL::STM32::F4::SPI
|
|
HAL::STM32::F4::DMA
|
|
HAL::STM32::F4::RCC
|
|
HAL::STM32::F4::TIM
|
|
HAL::STM32::F4::TIMEx
|
|
HAL::STM32::F4::CORTEX
|
|
STM32::NoSys
|
|
)
|
|
target_include_directories (demo PRIVATE ${PROJECT_INCLUDES})
|
|
|
|
target_compile_definitions(demo PRIVATE
|
|
USE_CMSIS_RTOS_V2
|
|
CMSIS_RTOS_V2_DEVICE_HEADER="stm32f4xx_hal.h"
|
|
)
|