cmake_minimum_required(VERSION 3.24) set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR ARM) set(CMAKE_C_COMPILER_WORKS 1) # skip compiler test set(CMAKE_CXX_COMPILER_WORKS 1) project(STM32U5 C CXX ASM) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) add_definitions(-DFX_INCLUDE_USER_DEFINE_FILE) # this is for filex 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 "LIB_SOURCES: ${LIB_SOURCES}") add_definitions(-DSTM32U575xx) 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_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($<$:-x$assembler-with-cpp>) add_library(${PROJECT_NAME} STATIC ${LIB_SOURCES}) # copy files to output directory # file(COPY ${CMAKE_CURRENT_LIST_DIR}/link_script DESTINATION ${CMAKE_BINARY_DIR}) # file(COPY ${CMAKE_CURRENT_LIST_DIR}/includes DESTINATION ${CMAKE_BINARY_DIR}) # file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMSIS DESTINATION ${CMAKE_BINARY_DIR}) # file(COPY ${CMAKE_CURRENT_LIST_DIR}/startup DESTINATION ${CMAKE_BINARY_DIR}) install(TARGETS ${PROJECT_NAME} DESTINATION .) install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/includes DESTINATION .) install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/CMSIS DESTINATION .) install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/startup DESTINATION .) install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/filex DESTINATION .) install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/link_script DESTINATION .)