CMakeLists.txt 914 B

12345678910111213141516171819202122232425
  1. PROJECT(stm32-template)
  2. CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
  3. ENABLE_LANGUAGE(ASM)
  4. FIND_PACKAGE(CMSIS REQUIRED)
  5. STM32_SET_PARAMS("512K" "64K" "0x20010000")
  6. SET(CMAKE_EXE_LINKER_FLAGS "-T${CMAKE_CURRENT_BINARY_DIR}/stm32_flash.ld ${CMAKE_EXE_LINKER_FLAGS}")
  7. INCLUDE_DIRECTORIES(
  8. ${CMAKE_CURRENT_SOURCE_DIR}
  9. ${CMSIS_INCLUDE_DIR}
  10. ${StdPeriphLib_INCLUDE_DIR}
  11. )
  12. SET(PROJECT_SOURCES
  13. main.c
  14. )
  15. ADD_EXECUTABLE(${CMAKE_PROJECT_NAME}.elf ${PROJECT_SOURCES} ${CMSIS_STARTUP_SOURCE})
  16. TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME}.elf ${CMSIS_LIBRARIES} ${StdPeriphLib_LIBRARIES})
  17. ADD_CUSTOM_TARGET(${CMAKE_PROJECT_NAME}.hex DEPENDS ${CMAKE_PROJECT_NAME}.elf COMMAND ${CMAKE_OBJCOPY} -Oihex ${CMAKE_PROJECT_NAME}.elf ${CMAKE_PROJECT_NAME}.hex)
  18. ADD_CUSTOM_TARGET(${CMAKE_PROJECT_NAME}.bin DEPENDS ${CMAKE_PROJECT_NAME}.elf COMMAND ${CMAKE_OBJCOPY} -Obinary ${CMAKE_PROJECT_NAME}.elf ${CMAKE_PROJECT_NAME}.bin)