84 lines
2.9 KiB
CMake

cmake_minimum_required(VERSION 3.22)
project(stm32cubemx)
add_library(stm32cubemx INTERFACE)
# Enable CMake support for ASM and C languages
enable_language(C ASM)
target_compile_definitions(stm32cubemx INTERFACE
USE_HAL_DRIVER
STM32F407xx
$<$<CONFIG:Debug>:DEBUG>
)
# Ignore warnings in STM32CubeMX code
target_compile_options(stm32cubemx INTERFACE -Wno-unused-parameter)
target_include_directories(stm32cubemx INTERFACE
../../Inc
../../Drivers/STM32F4xx_HAL_Driver/Inc
../../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy
../../Middlewares/ST/STM32_Audio/Addons/PDM/Inc
../../Drivers/CMSIS/Device/ST/STM32F4xx/Include
../../Drivers/CMSIS/Include
)
target_sources(stm32cubemx INTERFACE
../../Src/main.c
../../Src/gpio.c
../../Src/crc.c
../../Src/dma.c
../../Src/i2c.c
../../Src/i2s.c
../../Src/pdm2pcm.c
../../Src/spi.c
../../Src/usart.c
../../Src/usb_otg.c
../../Src/stm32f4xx_it.c
../../Src/stm32f4xx_hal_msp.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2s.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2s_ex.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c
../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c
../../Src/system_stm32f4xx.c
../../Src/sysmem.c
../../Src/syscalls.c
../../startup_stm32f407xx.s
)
target_link_directories(stm32cubemx INTERFACE
../../Middlewares/ST/STM32_Audio/Addons/PDM/Lib
../../Middlewares/ST/STM32_Audio/Addons/PDM/Lib
)
target_link_libraries(stm32cubemx INTERFACE
:libPDMFilter_CM4_GCC_wc32.a
:libPDMFilter_CM4_IAR_wc32.a
)
# Validate that STM32CubeMX code is compatible with C standard
if(CMAKE_C_STANDARD LESS 11)
message(ERROR "Generated code requires C11 or higher")
endif()