31 lines
783 B
CMake
31 lines
783 B
CMake
cmake_minimum_required(VERSION 3.7.1)
|
|
project(umcumgr C)
|
|
|
|
set(CMAKE_C_STANDARD 99)
|
|
|
|
OPTION(DO_UPLOAD_SHA "Send data SHA with update packets" OFF)
|
|
OPTION(SANITIZE "ASAN" OFF)
|
|
|
|
add_executable(umcumgr
|
|
src/base64.c
|
|
src/image.c
|
|
src/main.c
|
|
src/crc16_sw.c
|
|
src/termios_util.c)
|
|
|
|
if(SANITIZE)
|
|
message(STATUS "SANITIZE Enabled")
|
|
set(CMAKE_C_FLAGS
|
|
"${CMAKE_C_FLAGS} -fsanitize=address -fsanitize=undefined")
|
|
endif(SANITIZE)
|
|
|
|
if (DO_UPLOAD_SHA)
|
|
message(STATUS "Enabled data SHA on update packets")
|
|
add_definitions(-DDO_UPLOAD_SHA)
|
|
target_sources(umcumgr PRIVATE src/sha256.c)
|
|
endif ()
|
|
|
|
find_library(TINYCBOR_LIB tinycbor /usr/local/lib /usr/lib)
|
|
target_link_libraries(umcumgr ${TINYCBOR_LIB})
|
|
|
|
install(TARGETS umcumgr DESTINATION bin) |