51 lines
1.6 KiB
CMake
51 lines
1.6 KiB
CMake
set(GIT_HASH "undefined")
|
|
find_package(Git QUIET)
|
|
if(GIT_FOUND)
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} log -1 --pretty=format:%h
|
|
OUTPUT_VARIABLE GIT_HASH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
ERROR_QUIET
|
|
)
|
|
endif()
|
|
|
|
message(STATUS "Burning in git hash: ${GIT_HASH}")
|
|
|
|
add_definitions("-DGIT_HASH=\"${GIT_HASH}\"")
|
|
|
|
#include(${CMAKE_CURRENT_LIST_DIR}/../toolchain/arm-none-eabi-stm32f411ceu6-toolchain.cmake)
|
|
# uncomment to mitigate c++17 absolute addresses warnings
|
|
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-register")
|
|
|
|
file(GLOB_RECURSE SOURCES
|
|
"Core/*.*"
|
|
"Middlewares/*.*"
|
|
"Drivers/*.*"
|
|
"USB_DEVICE/*.*"
|
|
)
|
|
|
|
message(WARNING "linker script is : ${LINKER_SCRIPT}")
|
|
|
|
add_executable(${PROJECT_NAME}.elf ${SOURCES} ${LINKER_SCRIPT})
|
|
|
|
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 $<TARGET_FILE:${PROJECT_NAME}.elf> ${HEX_FILE}
|
|
COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${PROJECT_NAME}.elf> ${BIN_FILE}
|
|
COMMENT "Building ${HEX_FILE}
|
|
Building ${BIN_FILE}") |