CMakeLists.txt file for STM32 project setup compilation using VS code

cmake_minimum_required (VERSION 3.0.0)
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
set(CMAKE_ASM_COMPILER arm-none-eabi-as)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_LINKER arm-none-eabi-ld)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mcpu=cortex-m4 -mthumb -mno-thumb-interwork -mfpu=fpv4-sp-d16 -mfloat-abi=hard")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=cortex-m4 -mthumb -mno-thumb-interwork -mfpu=fpv4-sp-d16 -mfloat-abi=hard")
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -mcpu=cortex-m4 -mthumb -mno-thumb-interwork -mfpu=fpv4-sp-d16 -mfloat-abi=hard")
 
project (Test)
set(STM32CUBE_HAL_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Drivers/STM32G0xx_HAL_Driver")
set(STM32CUBE_CMSIS_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Drivers/CMSIS")
set(FREERTOS_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Middlewares/Third_Party/FreeRTOS")
file(GLOB SRC_FILES
    ${CMAKE_CURRENT_SOURCE_DIR}/Src/*.c
    ${CMAKE_CURRENT_SOURCE_DIR}/Src/lin/*.c
    ${CMAKE_CURRENT_SOURCE_DIR}/Src/lcd/*.c
    ${CMAKE_CURRENT_SOURCE_DIR}/Src/eacp/*.c
    ${STM32CUBE_HAL_PATH}/Src/*.c
    ${FREERTOS_PATH}/Source/*.c
    ${FREERTOS_PATH}/Source/portable/MemMang/*.c
    ${FREERTOS_PATH}/Source/portable/GCC/ARM_CM0/*.c
    ${FREERTOS_PATH}/Source/CMSIS_RTOS_V2/*.c
)
file(GLOB INC_FILES
    ${CMAKE_CURRENT_SOURCE_DIR}/Inc
    ${CMAKE_CURRENT_SOURCE_DIR}/Inc/lin
    ${CMAKE_CURRENT_SOURCE_DIR}/Inc/lcd
    ${CMAKE_CURRENT_SOURCE_DIR}/Inc/eacp
    ${STM32CUBE_HAL_PATH}/Inc
    ${STM32CUBE_HAL_PATH}/Inc/Legacy
    ${STM32CUBE_CMSIS_PATH}/Include
    ${STM32CUBE_CMSIS_PATH}/Device/ST/STM32G0xx/Include
    ${FREERTOS_PATH}/Source/include
    ${FREERTOS_PATH}/Source/portable/GCC/ARM_CM0
    ${FREERTOS_PATH}/Source/CMSIS_RTOS_V2
)
add_executable (Test ${SRC_FILES})
target_include_directories(Test PUBLIC ${INC_FILES})
target_link_libraries(Test -Wl,--start-group -lgcc -lc -lm -lrdimon -Wl,--end-group  
)
target_compile_definitions(Test PRIVATE __SOFTFP__)
set_target_properties(Test PROPERTIES SUFFIX ".elf")
add_custom_command(TARGET Test POST_BUILD
    COMMAND ${CMAKE_OBJCOPY} -O ihex $<TARGET_FILE:Test> ${CMAKE_CURRENT_BINARY_DIR}/Test.hex
    COMMAND ${CMAKE_OBJCOPY} -O binary $<TARGET_FILE:Test> ${CMAKE_CURRENT_BINARY_DIR}/Test.bin
)

We need to have a similar kind of source, include & libraries path to compile code for respective microcontroller project. Here STM32 uses cortex M4 and so used the respective flags. These flags are altered correspondingly with respect to microcontrollers involved.

I formatted the provided CMake code to get highlighting.

Is there a question here?