CMakeLists.txt 961 B

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