80c4c9ee10837dd5c2233c53d823722d1b9648cc
[platform/core/security/privacy-manager.git] / client / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 #PROJECT(privacy-manager-client)
3
4 SET(CMAKE_INSTALL_PREFIX /usr)
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6 SET(EXEC_PREFIX "\${prefix}")
7 SET(LIBDIR "\${prefix}/lib")
8 SET(INCLUDEDIR "\${prefix}/include")
9 SET(VERSION 0.0)
10
11 SET(VERSION_MAJOR 0)
12 SET(VERSION "${VERSION_MAJOR}.0.1")
13
14 INCLUDE(FindPkgConfig)
15 pkg_check_modules(pkgs REQUIRED dlog sqlite3 dbus-1 dbus-glib-1)
16
17 FOREACH(flag ${pkgs_CFLAGS})
18         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
19 ENDFOREACH(flag)
20
21 SET(CMAKE_C_FLAGS_PROFILING    " -g -pg")
22 SET(CMAKE_CXX_FLAGS_PROFILING  " -std=c++0x -g -pg")
23 SET(CMAKE_C_FLAGS_DEBUG        " -g")
24 SET(CMAKE_CXX_FLAGS_DEBUG      " -std=c++0x -g")
25 SET(CMAKE_C_FLAGS_RELEASE      " -g")
26 SET(CMAKE_CXX_FLAGS_RELEASE    " -std=c++0x -g")
27 SET(CMAKE_C_FLAGS_CCOV         " -g --coverage")
28 SET(CMAKE_CXX_FLAGS_CCOV       " -std=c++0x -g --coverage")
29
30 SET(client_src_dir "${CMAKE_SOURCE_DIR}/client/src")
31 SET(client_include_dir "${CMAKE_SOURCE_DIR}/client/inc/")
32 SET(common_src_dir "${CMAKE_SOURCE_DIR}/common/src/")
33 SET(common_include_dir "${CMAKE_SOURCE_DIR}/common/inc/")
34 SET(lib_include_dir 
35         "/usr/include/dbus-1.0"
36         "/usr/include/aul"
37 )
38
39 ## Additional flag
40 ADD_DEFINITIONS("-fvisibility=hidden")
41 ADD_DEFINITIONS("-Wall -Werror")
42 ADD_DEFINITIONS("-DDLOG_ERROR_ENABLED")
43
44 ###################################################################################################
45 ## for libprivacy-manager-client (executable)
46 INCLUDE_DIRECTORIES(${pkgs_INCLUDE_DIRS} ${client_include_dir} ${common_include_dir} ${lib_include_dir})
47 SET(PRIVACY_MANAGER_CLIENT_SOURCES 
48         ${common_src_dir}/SocketConnection.cpp
49         ${common_src_dir}/SocketStream.cpp
50         ${common_src_dir}/PrivacyIdInfo.cpp
51         ${client_src_dir}/SocketClient.cpp
52         ${client_src_dir}/PrivacyManager.cpp
53         ${client_src_dir}/PrivacyChecker.cpp
54         ${client_src_dir}/privacy_checker_client.cpp
55         ${client_src_dir}/privacy_info_client.cpp
56         ${client_src_dir}/privacy_manager_client.cpp
57         )
58 SET(PRIVACY_MANAGER_CLIENT_HEADERS
59         ${client_include_dir}/PrivacyManager.h
60         ${client_include_dir}/PrivacyChecker.h
61         ${client_include_dir}/PrivacyChecker.h
62         ${client_include_dir}/privacy_info_client.h
63         ${client_include_dir}/privacy_manager_client.h
64         ${client_include_dir}/privacy_checker_client.h
65         ${common_include_dir}/privacy_manager_client_types.h
66 )
67 SET(PRIVACY_MANAGER_CLIENT_LDFLAGS " -module -avoid-version ")
68 SET(PRIVACY_MANAGER_CLIENT_CFLAGS  " ${CFLAGS} -fPIC ")
69 #SET(PRIVACY_MANAGER_CLIENT_LIBADD " ")
70
71 ADD_DEFINITIONS("-DLOG_TAG=\"PRIVACY-MANAGER-CLIENT\"")
72 ADD_LIBRARY(privacy-manager-client SHARED ${PRIVACY_MANAGER_CLIENT_SOURCES})
73 TARGET_LINK_LIBRARIES(privacy-manager-client ${pkgs_LDFLAGS} ${pkgs_LIBRARIES})
74 SET_TARGET_PROPERTIES(privacy-manager-client PROPERTIES COMPILE_FLAGS "${PRIVACY_MANAGER_CLIENT_CFLAGS}")
75 SET_TARGET_PROPERTIES(privacy-manager-client PROPERTIES SOVERSION ${VERSION_MAJOR})
76 SET_TARGET_PROPERTIES(privacy-manager-client PROPERTIES VERSION ${VERSION})
77 ###################################################################################################
78
79 SET(PC_NAME privacy-manager-client)
80 SET(PC_DESCRIPTION "Privacy Manager Client API")
81 SET(PC_LDFLAGS -lprivacy-manager-client)
82 SET(PC_CFLAGS -I\${includedir}/privacy_manager)
83
84 CONFIGURE_FILE(../privacy-manager-client.pc.in privacy-manager-client.pc @ONLY)
85
86 INSTALL(TARGETS privacy-manager-client DESTINATION ../lib COMPONENT RuntimeLibraries)
87 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/privacy-manager-client.pc DESTINATION ../lib/pkgconfig)
88 INSTALL(FILES ${PRIVACY_MANAGER_CLIENT_HEADERS} DESTINATION ../include/privacy_manager)