56 lines
1.9 KiB
CMake
56 lines
1.9 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
project(HydroTowerMainboard)
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
|
|
|
|
set(CMAKE_BUILD_TYPE "Release")
|
|
|
|
set(LD_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/samd21_flash.ld")
|
|
set(MCUTYPE "__SAMD21E17D__")
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS "-T${LD_SCRIPT} ${CMAKE_EXE_LINKER_FLAGS}")
|
|
|
|
add_executable(${PROJECT_NAME}.elf
|
|
# src/i2c/i2c.c
|
|
src/buffer/buffer.c
|
|
src/cc1101/cc1101.c
|
|
src/cobs/cobs.c
|
|
src/common/common.c
|
|
src/main.c src/spi/spi_master.c
|
|
src/packet/packet_handler.c
|
|
src/pwm/pwm.c
|
|
src/serial/serial.c
|
|
src/startup_samd21.c
|
|
src/switch/switch.c
|
|
thirdparty/segger_rtt/RTT/SEGGER_RTT.c
|
|
thirdparty/segger_rtt/RTT/SEGGER_RTT_printf.c
|
|
thirdparty/segger_rtt/Syscalls/SEGGER_RTT_Syscalls_GCC.c
|
|
)
|
|
target_include_directories(${PROJECT_NAME}.elf
|
|
PRIVATE
|
|
#${CMAKE_CURRENT_SOURCE_DIR}/src/i2c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/hydrolink-headers/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/buffer
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/cc1101
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/cobs
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/common
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/defs
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/packet
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/pwm
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/serial
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/spi
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/switch
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/segger_rtt/Config
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/segger_rtt/RTT
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/segger_rtt/Syscalls
|
|
)
|
|
add_compile_definitions(${MCUTYPE})
|
|
|
|
add_custom_target(${PROJECT_NAME}.bin
|
|
COMMAND ${CMAKE_OBJCOPY} -O binary ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.elf ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.bin
|
|
)
|
|
add_dependencies(${PROJECT_NAME}.bin ${PROJECT_NAME}.elf)
|
|
|
|
add_custom_target(upload
|
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../jlink/JLinkExe -NoGui 1 -CommandFile ${CMAKE_CURRENT_SOURCE_DIR}/upload_release.jlink
|
|
)
|
|
add_dependencies(upload ${PROJECT_NAME}.bin)
|