xref: /btstack/port/stm32-l451-miromico-sx1280/CMakeLists.txt (revision 2fd737d36a1de5d778cacc671d4b4d8c4f3fed82)
1#THIS FILE IS AUTO GENERATED FROM THE TEMPLATE! DO NOT CHANGE!
2SET(CMAKE_SYSTEM_NAME Generic)
3SET(CMAKE_SYSTEM_VERSION 1)
4cmake_minimum_required(VERSION 3.7)
5
6# specify cross compilers and tools
7SET(CMAKE_C_COMPILER_WORKS 1)
8SET(CMAKE_C_COMPILER arm-none-eabi-gcc)
9SET(CMAKE_CXX_COMPILER_WORKS 1)
10SET(CMAKE_CXX_COMPILER arm-none-eabi-g++)
11set(CMAKE_ASM_COMPILER  arm-none-eabi-gcc)
12set(CMAKE_AR arm-none-eabi-ar)
13set(CMAKE_OBJCOPY arm-none-eabi-objcopy)
14set(CMAKE_OBJDUMP arm-none-eabi-objdump)
15set(SIZE arm-none-eabi-size)
16
17SET(LINKER_SCRIPT ${CMAKE_SOURCE_DIR}/STM32L451REIx_FLASH.ld)
18
19#Uncomment for hardware floating point
20#SET(FPU_FLAGS "-mfloat-abi=hard -mfpu=fpv4-sp-d16")
21#add_definitions(-DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -D__FPU_PRESENT=1)
22
23#Uncomment for software floating point
24#SET(FPU_FLAGS "-mfloat-abi=soft")
25
26SET(COMMON_FLAGS
27    "-mcpu=cortex-m4 ${FPU_FLAGS} -mthumb -mthumb-interwork -ffunction-sections -fdata-sections \
28    -g -fno-common -fmessage-length=0 -specs=nosys.specs -specs=nano.specs")
29
30SET(CMAKE_CXX_FLAGS_INIT "${COMMON_FLAGS} -std=c++11")
31SET(CMAKE_C_FLAGS_INIT "${COMMON_FLAGS} -std=gnu99")
32SET(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,-gc-sections,--print-memory-usage -T ${LINKER_SCRIPT}")
33
34PROJECT(sx1280-ble C CXX ASM)
35set(CMAKE_CXX_STANDARD 11)
36
37#add_definitions(-DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -D__FPU_PRESENT=1)
38add_definitions(-DUSE_HAL_DRIVER -DSTM32L451xx)
39
40file(GLOB_RECURSE SOURCES "startup/*.*" "Drivers/*.*" "Src/*.*" "port/*.*")
41
42include_directories(Inc Drivers/STM32L4xx_HAL_Driver/Inc Drivers/STM32L4xx_HAL_Driver/Inc/Legacy Drivers/CMSIS/Device/ST/STM32L4xx/Include Drivers/CMSIS/Include)
43
44add_executable(${PROJECT_NAME}.elf ${SOURCES} ${LINKER_SCRIPT})
45
46set(CMAKE_EXE_LINKER_FLAGS
47    "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Map=${PROJECT_BINARY_DIR}/${PROJECT_NAME}.map")
48
49set(HEX_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.hex)
50set(BIN_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.bin)
51
52add_custom_command(TARGET ${PROJECT_NAME}.elf POST_BUILD
53        COMMAND ${CMAKE_OBJCOPY} -Oihex $<TARGET_FILE:${PROJECT_NAME}.elf> ${HEX_FILE}
54        COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${PROJECT_NAME}.elf> ${BIN_FILE}
55        COMMENT "Building ${HEX_FILE}
56Building ${BIN_FILE}")
57