cmake_minimum_required(VERSION 3.23) set(CMAKE_C_COMPILER_WORKS 1) set(CMAKE_CXX_COMPILER_WORKS 1) project(ov5640 LANGUAGES C CXX ASM) set(EXAMPLE_NAME "example_led") set(CMAKE_EXPORT_COMPILE_COMMANDS on) # for clangd ### set includes and library set(Stm32U5Lib_DIR ../../../) find_package(Stm32U5Lib REQUIRED) include_directories(../) file(GLOB_RECURSE SOURCES main.cpp # ../custom_prephrals.cpp ./ex_led.cpp ../../../startup/startup_stm32u575zitxq.s ) #add_executable(${EXAMPLE_NAME}.elf ${SOURCES} ${LINKER_SCRIPT} ${LIB_BIN}) # if LIB_SOURCES is not empty, then add it to the target #if(NOT LIB_SOURCES) # message(STATUS "LIB_SOURCES is empty") # add_executable(${EXAMPLE_NAME}.elf ${SOURCES} ${LINKER_SCRIPT}) # # add the library to the target # 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(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}")