include(CMake/githash.cmake) # All required source definitions file(GLOB_RECURSE SOURCES "Core/*.*" "Middlewares/*.*" "Drivers/*.*" "USB_DEVICE/*.*" ) # Check if the correct toolchain was used and the LINKER_SCRIPT is defined if(NOT DEFINED LINKER_SCRIPT) message(FATAL_ERROR "You need to define the LINKER_SCRIPT variable from within the toolchain for the correct MCU") endif() add_executable(FloatPUMP.elf ${SOURCES} ${LINKER_SCRIPT}) # Custom target options target_compile_definitions(FloatPUMP.elf PUBLIC "-DGIT_HASH=\"${GIT_HASH}\"" ) target_include_directories(${PROJECT_NAME}.elf PUBLIC USB_DEVICE/App USB_DEVICE/Target Core/Inc Drivers/STM32F4xx_HAL_Driver/Inc Drivers/STM32F4xx_HAL_Driver/Inc/Legacy Middlewares/ST/STM32_USB_Device_Library/Core/Inc Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc Drivers/CMSIS/Device/ST/STM32F4xx/Include Drivers/CMSIS/Include Middlewares/floatpump/Inc ) set(HEX_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.hex) set(BIN_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.bin) add_custom_command(TARGET ${PROJECT_NAME}.elf POST_BUILD COMMAND ${CMAKE_OBJCOPY} -Oihex $ ${HEX_FILE} COMMAND ${CMAKE_OBJCOPY} -Obinary $ ${BIN_FILE} COMMENT "Building ${HEX_FILE} Building ${BIN_FILE}")