1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
8 ss_engine/SS_FSUpdate.c
10 ss_engine/SS_ApplyPatch.c
11 ss_engine/SS_PatchDelta.c
14 bsdiff/ss_bspatch_common.c
17 ss_engine/fota_common.h
21 ss_engine/SS_Engine_Errors.h
22 ss_engine/SS_Engine_Update.h
23 ss_engine/SS_FSUpdate.h
24 ss_engine/SS_ImageUpdate.h
25 ss_engine/SS_MultiProcessUpdate.h
30 #SET(EXEC_PREFIX "\${prefix}")
31 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
32 SET(LIBDIR "${PREFIX}")
34 SET(VERSION ${VERSION_MAJOR}.0.0)
37 #INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
38 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
39 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/ss_engine)
40 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/bsdiff)
42 INCLUDE(FindPkgConfig)
43 pkg_check_modules(packages REQUIRED
47 FOREACH(flag ${packages_CFLAGS})
48 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
51 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall")
52 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g ")
54 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
56 FIND_PROGRAM(UNAME NAMES uname)
57 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
58 IF("${ARCH}" STREQUAL "arm")
59 ADD_DEFINITIONS("-DTARGET")
60 MESSAGE("add -DTARGET")
61 ENDIF("${ARCH}" STREQUAL "arm")
63 #FIND_PROGRAM(MARSHALTOOL NAMES glib-genmarshal)
64 #FIND_PROGRAM(DBUS_BINDING_TOOL NAMES dbus-binding-tool)
65 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed")
67 CONFIGURE_FILE(tota.pc.in tota.pc @ONLY)
69 ADD_LIBRARY(${LIBNAME}-object OBJECT ${SRCS})
71 ADD_LIBRARY(${LIBNAME} SHARED $<TARGET_OBJECTS:${LIBNAME}-object>)
72 TARGET_LINK_LIBRARIES(${LIBNAME} ${packages_LDFLAGS})
73 SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES VERSION ${VERSION})
74 SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES OUTPUT_NAME ${LIBNAME})
75 INSTALL(TARGETS ${LIBNAME} DESTINATION ${LIB_INSTALL_DIR})
77 ADD_LIBRARY(${LIBNAME}-static STATIC $<TARGET_OBJECTS:${LIBNAME}-object>)
78 SET_TARGET_PROPERTIES(${LIBNAME}-static PROPERTIES VERSION ${VERSION})
79 SET_TARGET_PROPERTIES(${LIBNAME}-static PROPERTIES OUTPUT_NAME ${LIBNAME})
80 INSTALL(TARGETS ${LIBNAME}-static DESTINATION ${LIB_INSTALL_DIR})
82 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/tota.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
83 FOREACH(hfile ${HEADERS})
84 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include)