CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. cmake_minimum_required(VERSION 3.5)
  2. include(${CMAKE_CURRENT_LIST_DIR}/../common/bin2array.cmake)
  3. set(TOOLCHAIN_PREFIX / CACHE PATH "Path to arm toolchain")
  4. set(STM32Cube_DIR / CACHE PATH "Path to STM32 hal library")
  5. set(FLASHER_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
  6. set(CMAKE_TOOLCHAIN_FILE ${FLASHER_DIR}/submodules/stm32-cmake/cmake/gcc_stm32.cmake)
  7. set(STM32_CHIP STM32F407VG)
  8. set(PORT STM32)
  9. project(stm32_flasher)
  10. enable_language(ASM)
  11. create_resources(${CMAKE_CURRENT_LIST_DIR}/../binaries/Hello-world Src/binaries.c)
  12. include_directories(${CMAKE_CURRENT_SOURCE_DIR} Inc)
  13. add_executable(${CMAKE_PROJECT_NAME}
  14. ../common/example_common.c
  15. Src/main.c
  16. Src/stm32f4xx_hal_msp.c
  17. Src/stm32f4xx_it.c
  18. Src/libc_compat.c
  19. Src/binaries.c)
  20. target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ../common)
  21. add_subdirectory(${FLASHER_DIR}/submodules ${CMAKE_BINARY_DIR}/submodules)
  22. add_subdirectory(${FLASHER_DIR} ${CMAKE_BINARY_DIR}/flasher)
  23. target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE stm_cube flasher)
  24. STM32_ADD_HEX_BIN_TARGETS(${CMAKE_PROJECT_NAME})
  25. add_custom_target(BuildBinary ALL)
  26. add_dependencies(BuildBinary ${CMAKE_PROJECT_NAME}.bin)