1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
6 STRING(REGEX MATCH "([^.]*)" SO_VERSION "${VERSION}")
8 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -std=c++0x")
10 SET(CMAKE_C_FLAGS_PROFILING "-g -O0 -pg -Wp,-U_FORITY_SOURCE")
11 SET(CMAKE_CXX_FLAGS_PROFILING "-g -O0 -pg -Wp,-U_FORITY_SOURCE ${EXTRA_CXXFLAGS}")
12 SET(CMAKE_C_FLAGS_DEBUG "-g -O0 -ggdb -Wp,-U_FORITY_SOURCE")
13 SET(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -ggdb -Wp,-U_FORITY_SOURCE ${EXTRA_CXXFLAGS}")
14 SET(CMAKE_C_FLAGS_RELEASE "-g -O2")
15 SET(CMAKE_CXX_FLAGS_RELEASE "-g -O2 ${EXTRA_CXXFLAGS}")
17 SET(TARGET_CRYPTSVC ${PROJECT_NAME})
18 SET(TARGET_DEVICE_INFO "device_info")
19 SET(TARGET_GADGET "duid-gadget")
21 IF("${ARCH}" MATCHES "arm")
22 ADD_DEFINITIONS("-DCRYPTOSVC_TARGET")
23 ENDIF("${ARCH}" MATCHES "arm")
25 ########################################################################################
27 SET(CRYPTSVC_REQUIRES "libcrypto dlog")
28 SET(DEVICE_INFO_REQUIRES "dlog capi-system-info")
29 PKG_CHECK_MODULES(CS_DEP REQUIRED ${CRYPTSVC_REQUIRES})
31 SET(CS_SRCS srcs/SecCryptoSvc.c)
34 ${CS_DEP_INCLUDE_DIRS}
35 ${PROJECT_SOURCE_DIR}/include
38 ADD_LIBRARY(${TARGET_CRYPTSVC} SHARED ${CS_SRCS})
40 SET_TARGET_PROPERTIES(
43 COMPILE_FLAGS "-fPIC -fvisibility=hidden"
44 SOVERSION ${SO_VERSION}
48 TARGET_LINK_LIBRARIES(${TARGET_CRYPTSVC} ${CS_DEP_LIBRARIES})
50 INSTALL(TARGETS ${TARGET_CRYPTSVC} DESTINATION ${LIB_INSTALL_DIR})
52 #########################################################################################
53 # for libdevice_info.so
54 PKG_CHECK_MODULES(DEVICE_INFO_DEP REQUIRED ${DEVICE_INFO_REQUIRES})
56 SET(DEVICE_INFO_SRCS srcs/device_info.c)
59 ${DEVICE_INFO_DEP_INCLUDE_DIRS}
60 ${CMAKE_CURRENT_SOURCE_DIR}/include
63 ADD_LIBRARY(${TARGET_DEVICE_INFO} SHARED ${DEVICE_INFO_SRCS})
65 SET_TARGET_PROPERTIES(
68 COMPILE_FLAGS "-fPIC -fvisibility=hidden"
69 SOVERSION ${SO_VERSION}
73 TARGET_LINK_LIBRARIES(${TARGET_DEVICE_INFO}
75 ${DEVICE_INFO_DEP_LIBRARIES}
79 INSTALL(TARGETS ${TARGET_DEVICE_INFO} DESTINATION ${LIB_INSTALL_DIR})
81 #########################################################################################
83 SET(PC_REQUIRED ${CRYPTSVC_REQUIRES})
84 CONFIGURE_FILE(${TARGET_CRYPTSVC}.pc.in ${TARGET_CRYPTSVC}.pc @ONLY)
86 INSTALL(FILES ${TARGET_CRYPTSVC}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
87 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${INCLUDE_INSTALL_DIR})
89 ADD_SUBDIRECTORY(gadget)
90 ADD_SUBDIRECTORY(test)