56 lines
1.9 KiB
CMake
56 lines
1.9 KiB
CMake
cmake_minimum_required(VERSION 3.26)
|
|
project(STM32U5 C CXX ASM)
|
|
set(EXAMPLE_NAME "stimulator")
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS on) # for clangd
|
|
|
|
|
|
set(CMAKE_SYSTEM_PROCESSOR ARM)
|
|
set(CMAKE_SYSTEM_NAME Generic)
|
|
|
|
# set(CMAKE_C_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc)
|
|
# set(CMAKE_CXX_COMPILER ${COMPILE_PREFIX}arm-none-eabi-g++)
|
|
# set(CMAKE_ASM_COMPILER ${COMPILE_PREFIX}arm-none-eabi-gcc)
|
|
# set(CMAKE_AR ${COMPILE_PREFIX}arm-none-eabi-ar)
|
|
# set(CMAKE_OBJCOPY ${COMPILE_PREFIX}arm-none-eabi-objcopy)
|
|
# set(CMAKE_OBJDUMP ${COMPILE_PREFIX}arm-none-eabi-objdump)
|
|
# set(SIZE ${COMPILE_PREFIX}arm-none-eabi-size)
|
|
|
|
set(CMAKE_C_COMPILER_WORKS 1)
|
|
set(CMAKE_CXX_COMPILER_WORKS 1)
|
|
|
|
### set includes and library
|
|
set(Stm32U5Lib_DIR ../../)
|
|
find_package(Stm32U5Lib REQUIRED)
|
|
|
|
|
|
file(GLOB_RECURSE SOURCES
|
|
${CMAKE_SOURCE_DIR}/main.cpp
|
|
${CMAKE_SOURCE_DIR}/custom_prephrals.cpp
|
|
# ../../../startup/startup_stm32u575zitxq.s
|
|
${CMAKE_SOURCE_DIR}/startup_stm32u575zitxq.s
|
|
${CMAKE_SOURCE_DIR}/syscalls.c
|
|
)
|
|
|
|
# if(NOT LIB_SOURCES)
|
|
# add_executable(${EXAMPLE_NAME}.elf ${SOURCES} ${LINKER_SCRIPT})
|
|
# target_link_libraries(${EXAMPLE_NAME}.elf ${LIB_BIN})
|
|
# else()
|
|
# message(STATUS "LIB_SOURCES is not empty")
|
|
# add_executable(${EXAMPLE_NAME}.elf ${SOURCES} ${LINKER_SCRIPT} ${LIB_SOURCES})
|
|
# endif()
|
|
set(LIB_BIN ${CMAKE_SOURCE_DIR}/libSTM32U5.a)
|
|
message (STATUS "LIB_BIN: " ${LIB_BIN})
|
|
message (STATUS "EXAMPLE_NAME: " ${EXAMPLE_NAME})
|
|
add_executable(${EXAMPLE_NAME}.elf ${SOURCES} ${LINKER_SCRIPT})
|
|
target_link_libraries(${EXAMPLE_NAME}.elf ${LIB_BIN})
|
|
|
|
set(HEX_FILE ${EXAMPLE_NAME}.hex)
|
|
set(BIN_FILE ${EXAMPLE_NAME}.bin)
|
|
|
|
add_custom_command(TARGET ${EXAMPLE_NAME}.elf POST_BUILD
|
|
COMMAND ${CMAKE_OBJCOPY} -Oihex $<TARGET_FILE:${EXAMPLE_NAME}.elf> ${HEX_FILE}
|
|
COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${EXAMPLE_NAME}.elf> ${BIN_FILE}
|
|
COMMENT "Building ${HEX_FILE}
|
|
Building ${BIN_FILE}")
|
|
|