Merge branch 'tizen_2.2' into tizen
[platform/framework/native/nfc.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-nfc)
4
5 INCLUDE(FindPkgConfig)
6 pkg_check_modules(${this_target} REQUIRED glib-2.0 capi-network-nfc osp-net osp-appfw chromium)
7
8 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
9
10 INCLUDE_DIRECTORIES(
11   inc
12         src
13         src/inc
14         ${${this_target}_INCLUDE_DIRS}
15     )
16
17 SET (${this_target}_SOURCE_FILES
18     src/FNetNfcNdefMessage.cpp
19     src/FNetNfcNdefRecord.cpp
20     src/FNetNfcNdefRecordType.cpp
21     src/FNetNfcNdefTagConnection.cpp
22     src/FNetNfcNfcManager.cpp
23     src/FNetNfcNfcTag.cpp
24     src/FNetNfcTagConnection.cpp
25     src/FNetNfcNdefPushManager.cpp
26     src/FNetNfc_NdefMessageDiscoveryEvent.cpp
27     src/FNetNfc_NdefMessageDiscoveryEventArg.cpp
28     src/FNetNfc_NdefMessageImpl.cpp
29     src/FNetNfc_NdefMessageUtil.cpp
30     src/FNetNfc_NdefRecordImpl.cpp
31     src/FNetNfc_NdefRecordTypeImpl.cpp
32     src/FNetNfc_NfcIpcMessages.cpp
33     src/FNetNfc_NfcIpcProxy.cpp
34     src/FNetNfc_NfcManagerEvent.cpp
35     src/FNetNfc_NfcManagerEventArg.cpp
36     src/FNetNfc_NfcManagerImpl.cpp
37     src/FNetNfc_NfcSystemAdapter.cpp
38     src/FNetNfc_NfcTagDiscoveryEvent.cpp
39     src/FNetNfc_NfcTagDiscoveryEventArg.cpp
40     src/FNetNfc_NfcTagImpl.cpp
41     src/FNetNfc_TagConnectionEvent.cpp
42     src/FNetNfc_TagConnectionEventArg.cpp
43     src/FNetNfc_TagConnectionImpl.cpp
44     src/FNetNfc_NdefPushManagerImpl.cpp
45     src/FNetNfc_NfcDeviceDiscoveryEvent.cpp
46     src/FNetNfc_NfcDeviceDiscoveryEventArg.cpp
47     src/FNetNfc_NdefPushManagerEventArg.cpp
48     src/FNetNfc_NdefPushManagerEvent.cpp
49 )
50
51 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
52
53 ## SET C COMPILER FLAGS
54 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
55
56 ## SET CPP COMPILER FLAGS
57 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
58 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
59
60 ## Create Library
61 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
62
63 ## SET LINKER FLAGS
64 SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
65
66 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
67
68 TARGET_LINK_LIBRARIES(${this_target} ${${this_target}_LDFLAGS} ${${this_target}_LIBRARIES})
69
70 SET_TARGET_PROPERTIES(${this_target}
71         PROPERTIES
72         VERSION ${FULLVER}
73         SOVERSION ${MAJORVER}
74         CLEAN_DIRECT_OUTPUT 1
75         )
76
77 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
78                                 FILES_MATCHING PATTERN "*.so*"
79                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
80                                                                                 GROUP_EXECUTE GROUP_READ
81                                                                                 WORLD_EXECUTE WORLD_READ)
82
83 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
84 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/inc/ DESTINATION include/osp/net FILES_MATCHING PATTERN "*.h")
85
86 SET(PC_NAME ${this_target})
87 SET(VERSION ${FULLVER})
88 SET(PC_LDFLAGS -l${this_target})
89
90 # pkgconfig file
91 SET(PC_LDFLAGS -l${this_target})
92 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
93 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)