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_FORTIFY_SOURCE")
11 SET(CMAKE_CXX_FLAGS_PROFILING "-g -O0 -pg -Wp,-U_FORTIFY_SOURCE ${EXTRA_CXXFLAGS}")
12 SET(CMAKE_C_FLAGS_DEBUG "-g -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
13 SET(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -ggdb -Wp,-U_FORTIFY_SOURCE ${EXTRA_CXXFLAGS}")
14 SET(CMAKE_C_FLAGS_RELEASE "-g -O2")
15 SET(CMAKE_CXX_FLAGS_RELEASE "-g -O2 ${EXTRA_CXXFLAGS}")
17 # Set compiler warning flags
18 ADD_DEFINITIONS("-Werror") # Make all warnings into errors.
19 ADD_DEFINITIONS("-Wall") # Generate all warnings
20 ADD_DEFINITIONS("-Wextra") # Generate even more extra warnings
22 SET(TARGET_CRYPTSVC ${PROJECT_NAME})
23 SET(TARGET_DEVICE_INFO "device_info")
24 SET(TARGET_GADGET "duid-gadget")
26 IF("${ARCH}" MATCHES "arm")
27 ADD_DEFINITIONS("-DCRYPTOSVC_TARGET")
28 ENDIF("${ARCH}" MATCHES "arm")
30 ########################################################################################
32 SET(CRYPTSVC_REQUIRES "openssl1.1 dlog")
33 SET(DEVICE_INFO_REQUIRES "dlog capi-system-info")
34 PKG_CHECK_MODULES(CS_DEP REQUIRED ${CRYPTSVC_REQUIRES})
36 SET(CS_SRCS srcs/SecCryptoSvc.c)
39 ${CS_DEP_INCLUDE_DIRS}
40 ${PROJECT_SOURCE_DIR}/include
43 ADD_LIBRARY(${TARGET_CRYPTSVC} SHARED ${CS_SRCS})
45 SET_TARGET_PROPERTIES(
48 COMPILE_FLAGS "-fPIC -fvisibility=hidden"
49 SOVERSION ${SO_VERSION}
53 TARGET_LINK_LIBRARIES(${TARGET_CRYPTSVC} ${CS_DEP_LIBRARIES})
55 INSTALL(TARGETS ${TARGET_CRYPTSVC} DESTINATION ${LIB_INSTALL_DIR})
57 #########################################################################################
58 # for libdevice_info.so
59 PKG_CHECK_MODULES(DEVICE_INFO_DEP REQUIRED ${DEVICE_INFO_REQUIRES})
61 SET(DEVICE_INFO_SRCS srcs/device_info.c)
64 ${DEVICE_INFO_DEP_INCLUDE_DIRS}
65 ${CMAKE_CURRENT_SOURCE_DIR}/include
68 ADD_LIBRARY(${TARGET_DEVICE_INFO} SHARED ${DEVICE_INFO_SRCS})
70 SET_TARGET_PROPERTIES(
73 COMPILE_FLAGS "-fPIC -fvisibility=hidden"
74 SOVERSION ${SO_VERSION}
78 TARGET_LINK_LIBRARIES(${TARGET_DEVICE_INFO}
80 ${DEVICE_INFO_DEP_LIBRARIES}
84 INSTALL(TARGETS ${TARGET_DEVICE_INFO} DESTINATION ${LIB_INSTALL_DIR})
86 #########################################################################################
88 CONFIGURE_FILE(${TARGET_CRYPTSVC}.pc.in ${TARGET_CRYPTSVC}.pc @ONLY)
90 INSTALL(FILES ${TARGET_CRYPTSVC}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
91 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${INCLUDE_INSTALL_DIR})
93 ADD_SUBDIRECTORY(gadget)
94 ADD_SUBDIRECTORY(test)