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)