1
0
Fork 0
umcumgr/CMakeLists.txt

36 lines
895 B
CMake

cmake_minimum_required(VERSION 3.13)
project(umcumgr C)
set(CMAKE_C_STANDARD 99)
OPTION(DO_UPLOAD_SHA "Send data SHA with update packets" OFF)
OPTION(SANITIZE "ASAN" OFF)
OPTION(STATIC "Build static binary" ON)
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(STATIC OFF)
set(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} -fsanitize=address -fsanitize=undefined")
endif(SANITIZE)
if(STATIC)
SET(CMAKE_EXE_LINKER_FLAGS "-static")
endif(STATIC)
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 ()
target_include_directories(umcumgr PRIVATE tinycbor/src)
target_link_libraries(umcumgr ${CMAKE_SOURCE_DIR}/tinycbor/lib/libtinycbor.a)