1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(INCLUDEDIR "\${prefix}/include")
8 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
10 SET(pc_requires " openssl dlog libcrypto ")
12 INCLUDE(FindPkgConfig)
13 pkg_check_modules(pkgs REQUIRED ${pc_requires})
15 FOREACH(flag ${pkgs_CFLAGS})
16 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
19 SET(source_dir "./srcs")
20 SET(include_dir "./include")
21 SET(test_dir "./test")
23 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
24 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
25 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${EXTRA_CFLAGS}")
27 #ADD_DEFINITIONS("-DCTR_SUPPORT") # for using CTR mode
28 #ADD_DEFINITIONS("-DCRYPT_SVC_LOG") # for debug
29 #ADD_DEFINITIONS("-DCRYPTOSVC_TARGET") # to get DUK from Target
31 ##################################################################################################################
34 #${source_dir}/CryptoSvc-debug.c
35 ${source_dir}/SecCryptoSvc.c
36 #${source_dir}/SecKmBase64.c
39 #SET(libcryptsvc_LDFLAGS "-module -avoid-version ${pkgs_LDFLAGS}")
40 SET(libcryptsvc_CFLAGS " ${CFLAGS} -fvisibility=hidden -g -fPIC -I${CMAKE_CURRENT_SOURCE_DIR}/include ")
41 SET(libcryptsvc_CPPFLAGS " -DPIC ")
43 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
45 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${libcryptsvc_LDFLAGS})
47 IF("${ARCH}" MATCHES "arm")
48 TARGET_LINK_LIBRARIES(${PROJECT_NAME} -L./libs -lDeviceInfo)
49 ENDIF("${ARCH}" MATCHES "arm")
51 SET_TARGET_PROPERTIES(
57 ##################################################################################################################
59 ##################################################################################################################
62 ${source_dir}/SecCryptoSvc.c
63 ${source_dir}/SecTzSvc.c
66 #SET(libtzsvc_LDFLAGS "-module -avoid-version ${pkgs_LDFLAGS}")
67 SET(libtzsvc_CFLAGS " ${CFLAGS} -fvisibility=hidden -g -fPIC -I${CMAKE_CURRENT_SOURCE_DIR}/include ")
68 SET(libtzsvc_CPPFLAGS " -DPIC ")
71 ADD_LIBRARY(${LIBTZ_SO} SHARED ${SRCS_TZ})
73 TARGET_LINK_LIBRARIES(${LIBTZ_SO} ${libtzsvc_LDFLAGS})
75 IF("${ARCH}" MATCHES "arm")
76 TARGET_LINK_LIBRARIES(${LIBTZ_SO} -L./libs -lDeviceInfo)
77 ENDIF("${ARCH}" MATCHES "arm")
79 SET_TARGET_PROPERTIES(
85 ##################################################################################################################
88 ##################################################################################################################
90 #SET(module_test_SOURCES
91 #${test_dir}/module_test.c
92 #${source_dir}/CryptoSvc-debug.c
95 #SET(module_test_CFLAGS " -fvisibility=hidden -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include ")
96 #SET(module_test_LDFALGS " -module -avoid-version ${pkgs_LDFLAGS} ")
98 #ADD_EXECUTABLE(${test_dir}/module_test ${module_test_SOURCES})
99 #TARGET_LINK_LIBRARIES(${test_dir}/module_test ${pkgs_LDFLAGS} cryptsvc)
100 #SET_TARGET_PROPERTIES(${test_dir}/module_test PROPERTIES COMPILE_FLAGS "${module_test_CFLAGS} ")
101 ##################################################################################################################
103 #FIND_PROGRAM(UNAME NAMES uname)
104 #EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
105 IF("${ARCH}" MATCHES "arm")
106 #ADD_DEFINITIONS("-DTARGET")
107 ADD_DEFINITIONS("-DCRYPTOSVC_TARGET")
108 #MESSAGE("add -DTARGET")
109 ENDIF("${ARCH}" MATCHES "arm")
111 SET(PC_NAME ${PROJECT_NAME})
112 SET(PC_DESCRIPTION ${DESCRIPTION})
113 SET(PC_LDFLAGS " -l${PROJECT_NAME} -l${LIBTZ_SO} ")
114 SET(PC_REQUIRED ${pc_requires})
115 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
117 INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
118 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
119 INSTALL(TARGETS ${LIBTZ_SO} DESTINATION ${LIB_INSTALL_DIR})
120 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${INCLUDEDIR})
122 ADD_DEFINITIONS(-D_bool_cryptsvc)