CMakeLists.txt 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. if(TARGET_SOC STREQUAL "ESP32_S2")
  12. set(binary_path ${CMAKE_CURRENT_LIST_DIR}/../binaries/ESP32_S2)
  13. elseif(TARGET_SOC STREQUAL "ESP8266")
  14. set(binary_path ${CMAKE_CURRENT_LIST_DIR}/../binaries/ESP8266)
  15. else()
  16. set(binary_path ${CMAKE_CURRENT_LIST_DIR}/../binaries/ESP32)
  17. endif()
  18. create_resources(${binary_path} Src/binaries.c)
  19. include_directories(${CMAKE_CURRENT_SOURCE_DIR} Inc)
  20. add_executable(${CMAKE_PROJECT_NAME}
  21. ../common/example_common.c
  22. Src/main.c
  23. Src/stm32f4xx_hal_msp.c
  24. Src/stm32f4xx_it.c
  25. Src/libc_compat.c
  26. Src/binaries.c)
  27. target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ../common)
  28. add_subdirectory(${FLASHER_DIR}/submodules ${CMAKE_BINARY_DIR}/submodules)
  29. add_subdirectory(${FLASHER_DIR} ${CMAKE_BINARY_DIR}/flasher)
  30. target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE stm_cube flasher)
  31. STM32_ADD_HEX_BIN_TARGETS(${CMAKE_PROJECT_NAME})
  32. add_custom_target(BuildBinary ALL)
  33. add_dependencies(BuildBinary ${CMAKE_PROJECT_NAME}.bin)