1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(LIBDIR "\${prefix}/lib")
7 SET(INCLUDEDIR "\${prefix}/include")
9 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
11 SET(pc_requires " openssl dlog libcrypto ")
13 INCLUDE(FindPkgConfig)
14 pkg_check_modules(pkgs REQUIRED ${pc_requires})
16 FOREACH(flag ${pkgs_CFLAGS})
17 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
20 SET(source_dir "./srcs")
21 SET(include_dir "./include")
22 SET(test_dir "./test")
24 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
25 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
26 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${EXTRA_CFLAGS}")
28 #ADD_DEFINITIONS("-DCTR_SUPPORT") # for using CTR mode
29 #ADD_DEFINITIONS("-DCRYPT_SVC_LOG") # for debug
30 #ADD_DEFINITIONS("-DCRYPTOSVC_TARGET") # to get DUK from Target
32 ##################################################################################################################
35 #${source_dir}/CryptoSvc-debug.c
36 ${source_dir}/SecCryptoSvc.c
37 #${source_dir}/SecKmBase64.c
40 SET(libcryptsvc_LDFLAGS " -module -avoid-version ${pkgs_LDFLAGS} ")
41 SET(libcryptsvc_CFLAGS " ${CFLAGS} -fvisibility=hidden -g -fPIC -I${CMAKE_CURRENT_SOURCE_DIR}/include ")
42 SET(libcryptsvc_CPPFLAGS " -DPIC ")
44 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
46 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
48 IF("${ARCH}" MATCHES "arm")
49 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -L./libs -lDeviceInfo)
50 ENDIF("${ARCH}" MATCHES "arm")
52 SET_TARGET_PROPERTIES(
58 ##################################################################################################################
60 ##################################################################################################################
63 ${source_dir}/SecCryptoSvc.c
64 ${source_dir}/SecTzSvc.c
67 SET(libtzsvc_LDFLAGS " -module -avoid-version ${pkgs_LDFLAGS} ")
68 SET(libtzsvc_CFLAGS " ${CFLAGS} -fvisibility=hidden -g -fPIC -I${CMAKE_CURRENT_SOURCE_DIR}/include ")
69 SET(libtzsvc_CPPFLAGS " -DPIC ")
72 ADD_LIBRARY(${LIBTZ_SO} SHARED ${SRCS_TZ})
74 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
76 IF("${ARCH}" MATCHES "arm")
77 TARGET_LINK_LIBRARIES(${LIBTZ_SO} -L./libs -lDeviceInfo)
78 ENDIF("${ARCH}" MATCHES "arm")
80 SET_TARGET_PROPERTIES(
86 ##################################################################################################################
89 ##################################################################################################################
91 #SET(module_test_SOURCES
92 #${test_dir}/module_test.c
93 #${source_dir}/CryptoSvc-debug.c
96 #SET(module_test_CFLAGS " -fvisibility=hidden -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include ")
97 #SET(module_test_LDFALGS " -module -avoid-version ${pkgs_LDFLAGS} ")
99 #ADD_EXECUTABLE(${test_dir}/module_test ${module_test_SOURCES})
100 #TARGET_LINK_LIBRARIES(${test_dir}/module_test ${pkgs_LDFLAGS} cryptsvc)
101 #SET_TARGET_PROPERTIES(${test_dir}/module_test PROPERTIES COMPILE_FLAGS "${module_test_CFLAGS} ")
102 ##################################################################################################################
104 #FIND_PROGRAM(UNAME NAMES uname)
105 #EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
106 IF("${ARCH}" MATCHES "arm")
107 #ADD_DEFINITIONS("-DTARGET")
108 ADD_DEFINITIONS("-DCRYPTOSVC_TARGET")
109 #MESSAGE("add -DTARGET")
110 ENDIF("${ARCH}" MATCHES "arm")
112 SET(PC_NAME ${PROJECT_NAME})
113 SET(PC_DESCRIPTION ${DESCRIPTION})
114 SET(PC_LDFLAGS " -l${PROJECT_NAME} -l${LIBTZ_SO} ")
115 SET(PC_REQUIRED ${pc_requires})
116 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
118 INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
119 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)
120 INSTALL(TARGETS ${LIBTZ_SO} DESTINATION lib)
121 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${INCLUDEDIR})
123 ADD_DEFINITIONS(-D_bool_cryptsvc)