diff --git a/CMakeLists.txt b/CMakeLists.txt index 56ff860..5cd3f6d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,7 @@ set(CMAKE_PROJECT_NAME Infantry_chassis) set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE) # Core project settings -project(${CMAKE_PROJECT_NAME}) +project(${CMAKE_PROJECT_NAME} C ASM) message("Build type: " ${CMAKE_BUILD_TYPE}) # Enable CMake support for ASM and C languages diff --git a/CMakePresets.json b/CMakePresets.json index 9a0c120..8799b57 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -4,7 +4,7 @@ { "name": "default", "hidden": true, - "generator": "Ninja", + "generator": "MinGW Makefiles", "binaryDir": "${sourceDir}/build/${presetName}", "toolchainFile": "${sourceDir}/cmake/gcc-arm-none-eabi.cmake", "cacheVariables": { diff --git a/cmake/stm32cubemx/CMakeLists.txt b/cmake/stm32cubemx/CMakeLists.txt index 5bcdb34..49635bb 100644 --- a/cmake/stm32cubemx/CMakeLists.txt +++ b/cmake/stm32cubemx/CMakeLists.txt @@ -21,7 +21,7 @@ set(MX_Include_Dirs ) # STM32CubeMX generated application sources -set(MX_Application_Src +set(MX_Application_Src ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/main.c ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/gpio.c ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/freertos.c @@ -33,11 +33,11 @@ set(MX_Application_Src ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/stm32f4xx_hal_timebase_tim.c ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/sysmem.c ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/syscalls.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../startup_stm32f407xx.s -) + ${CMAKE_CURRENT_SOURCE_DIR}/../../startup_stm32f407xx.s +) # STM32 HAL/LL Drivers -set(STM32_Drivers_Src +set(STM32_Drivers_Src ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/system_stm32f4xx.c ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c @@ -55,8 +55,8 @@ set(STM32_Drivers_Src ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c -) + ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c +) # Drivers Midllewares @@ -71,7 +71,7 @@ set(FreeRTOS_Src ${CMAKE_CURRENT_SOURCE_DIR}/../../Middlewares/Third_Party/FreeRTOS/Source/timers.c ${CMAKE_CURRENT_SOURCE_DIR}/../../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c ${CMAKE_CURRENT_SOURCE_DIR}/../../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c ) # Link directories setup @@ -82,7 +82,8 @@ set(MX_LINK_DIRS set(MX_LINK_LIBS STM32_Drivers ${TOOLCHAIN_LINK_LIBRARIES} - FreeRTOS + FreeRTOS + ) # Interface library for includes and symbols add_library(stm32cubemx INTERFACE) @@ -94,11 +95,11 @@ add_library(STM32_Drivers OBJECT) target_sources(STM32_Drivers PRIVATE ${STM32_Drivers_Src}) target_link_libraries(STM32_Drivers PUBLIC stm32cubemx) - -# Create FreeRTOS static library -add_library(FreeRTOS OBJECT) -target_sources(FreeRTOS PRIVATE ${FreeRTOS_Src}) -target_link_libraries(FreeRTOS PUBLIC stm32cubemx) + +# Create FreeRTOS static library +add_library(FreeRTOS OBJECT) +target_sources(FreeRTOS PRIVATE ${FreeRTOS_Src}) +target_link_libraries(FreeRTOS PUBLIC stm32cubemx) # Add STM32CubeMX generated application sources to the project target_sources(${CMAKE_PROJECT_NAME} PRIVATE ${MX_Application_Src})