e26b723f4e9fb8435c8815e9ade468ff9d6de962
[platform/framework/native/secure-element.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-secure-element)
4
5 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
6
7 INCLUDE_DIRECTORIES(
8         ${SLP_INCLUDE_DIRS}
9         inc
10         src
11         src/inc
12         /usr/include/chromium
13         /usr/include/smartcard-service
14         /usr/include/smartcard-service-common
15         /usr/include/glib-2.0 
16         /usr/lib/glib-2.0/include
17         /usr/include/osp
18         /usr/include/osp/base
19         /usr/include/osp/io     
20         /usr/include/osp/security       
21         /usr/include/osp/system 
22 )
23
24 SET (${this_target}_SOURCE_FILES
25     src/FSecSeSecureElementService.cpp
26     src/FSecSe_SecureElementServiceImpl.cpp
27     src/FSecSe_SecureElementServiceEvent.cpp
28     src/FSecSe_SecureElementServiceEventArg.cpp
29     src/FSecSeSecureElementReader.cpp
30     src/FSecSe_SecureElementReaderImpl.cpp
31     src/FSecSe_SecureElementReaderOpenSessionResponseEvent.cpp
32     src/FSecSe_SecureElementReaderOpenSessionResponseArg.cpp
33     src/FSecSeSecureElementSession.cpp
34     src/FSecSe_SecureElementSessionImpl.cpp
35     src/FSecSe_SecureElementSessionCloseResponseListenerEvent.cpp
36     src/FSecSe_SecureElementSessionCloseResponseListenerEventArg.cpp
37     src/FSecSe_SecureElementSessionGetAtrEvent.cpp
38     src/FSecSe_SecureElementSessionGetAtrEventArg.cpp
39     src/FSecSe_SecureElementSessionOpenChannelResponseListenerEvent.cpp
40     src/FSecSe_SecureElementSessionOpenChannelResponseListenerEventArg.cpp
41     src/FSecSeSecureElementChannel.cpp
42     src/FSecSe_SecureElementChannelImpl.cpp
43     src/FSecSe_SecureElementChannelCloseResponseListenerEvent.cpp
44     src/FSecSe_SecureElementChannelCloseResponseListenerEventArg.cpp
45     src/FSecSe_SecureElementChannelTransmitResponseListenerEvent.cpp
46     src/FSecSe_SecureElementChannelTransmitResponseListenerEventArg.cpp
47     )
48
49 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
50
51 ## SET C COMPILER FLAGS
52 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
53
54 ## SET CPP COMPILER FLAGS
55 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
56 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
57
58 ## Create Library
59 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
60
61 ## SET LINKER FLAGS
62 SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
63
64 TARGET_LINK_LIBRARIES(${this_target} "-lsmartcard-service" )
65 TARGET_LINK_LIBRARIES(${this_target} "-lsmartcard-service-common" )
66 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
67
68 SET_TARGET_PROPERTIES(${this_target} 
69         PROPERTIES 
70         VERSION ${FULLVER}
71         SOVERSION ${MAJORVER}
72         CLEAN_DIRECT_OUTPUT 1
73         )
74
75 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp 
76                                 FILES_MATCHING PATTERN "*.so*" 
77                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
78                                                                                 GROUP_EXECUTE GROUP_READ
79                                                                                 WORLD_EXECUTE WORLD_READ)
80
81 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
82
83 SET(PC_NAME ${this_target})
84 SET(PC_REQUIRED ${pc_requires})
85 SET(PC_LDFLAGS -l${this_target})
86 SET(VERSION ${FULLVER})
87
88 # pkgconfig file
89 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
90 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)