cmake_minimum_required(VERSION 3.23) #project(sdcard_example C ASM) set(CMAKE_C_COMPILER_WORKS 1) set(CMAKE_CXX_COMPILER_WORKS 1) project(led LANGUAGES C CXX ASM) set(EXAMPLE_NAME "CAM_LED") set(CMAKE_EXPORT_COMPILE_COMMANDS on) # for clangd SET(CMAKE_C_STANDARD 17) SET(CMAKE_CXX_STANDARD 17) ### set includes and library set(Stm32U5Lib_DIR ../../../) find_package(Stm32U5Lib REQUIRED) add_definitions(-DSTM32U575xx) include_directories(./) include_directories(../) add_compile_options(-g # -Ofast ) file(GLOB_RECURSE SOURCES ./*.c ./*.cpp ../custom_prephrals.cpp ) add_executable(${EXAMPLE_NAME}.elf ${SOURCES} ${LINKER_SCRIPT} ${LIB_SOURCES} ) 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 $ ${HEX_FILE} COMMAND ${CMAKE_OBJCOPY} -Obinary $ ${BIN_FILE} COMMENT "Building ${HEX_FILE} Building ${BIN_FILE}")