1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(smartcard-service CXX)
4 SET(LIB_NAME "smartcard-service")
6 SET(VERSION ${VERSION_MAJOR}.0.0)
8 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common)
9 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common/include)
10 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../server/include)
11 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
13 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SRCS)
15 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
16 SET(CMAKE_BUILD_TYPE "Release")
17 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
18 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
21 INCLUDE(FindPkgConfig)
23 SET(PKG_MODULE glib-2.0 security-server dlog)
24 IF(NOT DEFINED USE_GDBUS)
25 SET(PKG_MODULE ${PKG_MODULE} dbus-glib-1)
28 pkg_check_modules(pkgs_client REQUIRED ${PKG_MODULE})
30 MESSAGE("${LIB_NAME} ld flag : ${pkgs_client_LDFLAGS}")
32 FOREACH(flag ${pkgs_client_CFLAGS})
33 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
34 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
37 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -finstrument-functions")
38 #SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
39 #SET(CMAKE_C_FLAGS_RELEASE "-O2")
41 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -finstrument-functions -std=c++0x")
42 #SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
43 #SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
45 FIND_PROGRAM(UNAME NAMES uname)
46 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
47 IF("${ARCH}" STREQUAL "arm")
48 ADD_DEFINITIONS("-DTARGET")
49 MESSAGE("add -DTARGET")
50 ENDIF("${ARCH}" STREQUAL "arm")
52 MESSAGE("CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
54 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
55 ADD_DEFINITIONS("-DSLP_DEBUG")
56 ADD_DEFINITIONS("-DLOG_TAG=\"SMARTCARD_SERVICE_CLIENT\"")
58 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
60 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
62 SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
63 SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES VERSION ${VERSION})
65 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_client_LDFLAGS})
68 ../common/include/smartcard-types.h
69 ../common/include/ByteArray.h
70 ../common/include/Debug.h
71 ../common/include/Exception.h
72 ../common/include/Synchronous.h
73 ../common/include/APDUHelper.h
74 ../common/include/Channel.h
75 ../common/include/Serializable.h
76 ../common/include/SEServiceHelper.h
77 ../common/include/ReaderHelper.h
78 ../common/include/SessionHelper.h
79 # ../common/include/FCI.h
81 include/SEServiceListener.h
85 include/ClientChannel.h
86 include/smartcard-service.h
90 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
91 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
92 FOREACH(hfile ${EXPORT_HEADER})
93 INSTALL(FILES ${hfile} DESTINATION include/${LIB_NAME})