55 lines
2.1 KiB
CMake
55 lines
2.1 KiB
CMake
set(COMPILE_PREFIX "")
|
|
if (APPLE)
|
|
set(COMPILE_PREFIX /opt/homebrew/bin/)
|
|
endif ()
|
|
|
|
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)
|
|
|
|
|
|
# add definition for filex
|
|
add_definitions(-DFX_INCLUDE_USER_DEFINE_FILE)
|
|
|
|
include_directories(
|
|
${CMAKE_CURRENT_LIST_DIR}/includes
|
|
${CMAKE_CURRENT_LIST_DIR}/includes/u575xx
|
|
${CMAKE_CURRENT_LIST_DIR}/includes/lowlevel
|
|
${CMAKE_CURRENT_LIST_DIR}/CMSIS/Include
|
|
${CMAKE_CURRENT_LIST_DIR}/filex/common/inc
|
|
${CMAKE_CURRENT_LIST_DIR}/filex/common/
|
|
${CMAKE_CURRENT_LIST_DIR}/filex/ports/generic/inc
|
|
)
|
|
|
|
file(GLOB_RECURSE LIB_SOURCES
|
|
"${CMAKE_CURRENT_LIST_DIR}/src/*.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/src/*.cpp"
|
|
"${CMAKE_CURRENT_LIST_DIR}/filex/common/src/*.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/startup/startup_stm32u575zitxq.s"
|
|
)
|
|
|
|
message(STATUS "CMAKE_CURRENT_LIST_DIR: ${CMAKE_CURRENT_LIST_DIR}")
|
|
|
|
#Uncomment for hardware floating point
|
|
# add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING)
|
|
add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
|
|
add_link_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
|
|
add_compile_options(-mcpu=cortex-m33 -mthumb -mthumb-interwork)
|
|
add_compile_options(-ffunction-sections -fdata-sections -fno-common -fmessage-length=0)
|
|
# Enable assembler files preprocessing
|
|
add_compile_options($<$<COMPILE_LANGUAGE:ASM>:-x$<SEMICOLON>assembler-with-cpp>)
|
|
|
|
# add link script
|
|
set(LINKER_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/link_script/STM32U575ZITXQ_FLASH.ld)
|
|
|
|
# add link options
|
|
add_link_options(-Wall -Wl,-gc-sections,--print-memory-usage,-Map=${PROJECT_BINARY_DIR}/${PROJECT_NAME}.map)
|
|
add_link_options(-mcpu=cortex-m33 -mthumb -mthumb-interwork)
|
|
add_link_options(-T ${LINKER_SCRIPT})
|
|
add_definitions(-DSTM32U575xx)
|
|
# set(LIB_BIN ${CMAKE_CURRENT_LIST_DIR}/libSTM32U5.a)
|