CMakeLists.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # define chip used in this project, this set must define before project definition
  2. # for this project dont use cmake commandline option -DSTM32_CHIP=<chip>
  3. set(STM32_CHIP STM32F407xG)
  4. cmake_minimum_required(VERSION 3.4)
  5. project(chibios-rt-f4-template)
  6. ENABLE_LANGUAGE(ASM)
  7. # test build all available ChibiOS COMPONENTS for F4 chip
  8. FIND_PACKAGE(ChibiOS 16 COMPONENTS rt hal adc can dac ext gpt i2c i2s icu mac mmc_spi pal pwm rtc sdc serial serial_usb spi st uart usb chprintf memstreams nullstreams evtimer shell syscalls REQUIRED)
  9. #FIND_PACKAGE(ChibiOS COMPONENTS rt hal pal REQUIRED)
  10. INCLUDE_DIRECTORIES(
  11. ${CMAKE_CURRENT_SOURCE_DIR}
  12. ${ChibiOS_INCLUDE_DIRS}
  13. config
  14. board
  15. work
  16. )
  17. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  18. ADD_DEFINITIONS(-DCORTEX_USE_FPU=TRUE)
  19. SET(STM32_LINKER_SCRIPT ${ChibiOS_LINKER_SCRIPT})
  20. set(SOURCE_FILES main.c board/board.c board/board.h config/mcuconf.h config/halconf.h config/chconf.h work/test.c work/test.h )
  21. add_executable(${CMAKE_PROJECT_NAME}.elf ${SOURCE_FILES} ${ChibiOS_SOURCES})
  22. TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME}.elf)
  23. STM32_SET_TARGET_PROPERTIES(${CMAKE_PROJECT_NAME}.elf)
  24. STM32_ADD_HEX_BIN_TARGETS(${CMAKE_PROJECT_NAME}.elf)
  25. STM32_PRINT_SIZE_OF_TARGETS(${CMAKE_PROJECT_NAME}.elf)