Remove hard link into privacy-manager script.
[platform/core/security/privacy-manager.git] / server / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(privacy-manager)
3
4 SET(CMAKE_INSTALL_PREFIX /usr)
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6 SET(EXEC_PREFIX "\${prefix}")
7 SET(INCLUDEDIR "\${prefix}/include")
8
9 INCLUDE(FindPkgConfig)
10 pkg_check_modules(pkgs REQUIRED dlog sqlite3 dbus-1 dbus-glib-1 db-util pkgmgr-info capi-system-info libtzplatform-config)
11
12 FOREACH(flag ${pkgs_CFLAGS})
13         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
14 ENDFOREACH(flag)
15
16 SET(CMAKE_C_FLAGS_PROFILING    " -g -pg")
17 SET(CMAKE_CXX_FLAGS_PROFILING  " -std=c++0x -g -pg")
18 SET(CMAKE_C_FLAGS_DEBUG        " -g")
19 SET(CMAKE_CXX_FLAGS_DEBUG      " -std=c++0x -g")
20 SET(CMAKE_C_FLAGS_RELEASE      " -g")
21 SET(CMAKE_CXX_FLAGS_RELEASE    " -std=c++0x -g")
22 SET(CMAKE_C_FLAGS_CCOV         " -g --coverage")
23 SET(CMAKE_CXX_FLAGS_CCOV       " -std=c++0x -g --coverage")
24
25 SET(server_src_dir "${CMAKE_SOURCE_DIR}/server/src")
26 SET(server_include_dir "${CMAKE_SOURCE_DIR}/server/inc/")
27 SET(common_src_dir "${CMAKE_SOURCE_DIR}/common/src/")
28 SET(common_include_dir "${CMAKE_SOURCE_DIR}/common/inc/")
29 SET(dbus_include_dir "/usr/include/dbus-1.0")
30
31 ## Additional flag
32 ADD_DEFINITIONS("-fvisibility=hidden")
33 ADD_DEFINITIONS("-Wall -Werror")
34 ADD_DEFINITIONS("-DDLOG_ERROR_ENABLED")
35 OPTION (FILTER_LISTED_PKG "FILTER PKG BY LIST" ON)
36 IF(FILTER_LISTED_PKG)
37     MESSAGE("FILTER PKGs BY FILTERING LIST")
38     ADD_DEFINITIONS("-D__FILTER_LISTED_PKG")
39 ENDIF(FILTER_LISTED_PKG)
40
41 ###################################################################################################
42 ## for privacy-manager-server (executable)
43 INCLUDE_DIRECTORIES(
44         ${pkgs_INCLUDE_DIRS}
45         ${server_include_dir}
46         ${common_include_dir} 
47         ${dbus_include_dir}
48         )
49
50 SET(PRIVACY_MANAGER_SERVER_SOURCES 
51         ${common_src_dir}/SocketConnection.cpp
52         ${common_src_dir}/SocketStream.cpp
53         ${common_src_dir}/PrivacyDb.cpp
54     #   ${server_src_dir}/main.cpp
55         ${server_src_dir}/SocketService.cpp
56         ${server_src_dir}/PrivacyManagerDaemon.cpp
57         ${server_src_dir}/service/PrivacyInfoService.cpp
58         ${server_src_dir}/PrivacyManagerServer.cpp
59         ${server_src_dir}/NotificationServer.cpp
60         ${server_src_dir}/privacy_manager_daemon.cpp
61         )
62 SET(PRIVACY_MANAGER_SERVER_HEADERS
63         ${server_include_dir}/privacy_manager_daemon.h
64     #   ${server_include_dir}/SocketService.h
65     #   ${server_include_dir}/PrivacyManagerDaemon.h
66     #   ${common_include_dir}/SocketConnection.h
67     #   ${common_include_dir}/SocketConnection.h
68 )
69 SET(PRIVACY_MANAGER_SERVER_LDFLAGS " -module -avoid-version ")
70 SET(PRIVACY_MANAGER_SERVER_CFLAGS  " ${CFLAGS} -fPIC ")
71 #SET(PRIVACY_MANAGER_SERVER_LIBADD " ")
72
73 ADD_DEFINITIONS("-DLOG_TAG=\"PRIVACY-MANAGER-SERVER\"")
74 ADD_LIBRARY(privacy-manager-server SHARED ${PRIVACY_MANAGER_SERVER_SOURCES})
75 TARGET_LINK_LIBRARIES(privacy-manager-server ${pkgs_LDFLAGS} ${pkgs_LIBRARIES})
76 SET_TARGET_PROPERTIES(privacy-manager-server PROPERTIES COMPILE_FLAGS "${PRIVACY_MANAGER_SERVER_CFLAGS}")
77 SET_TARGET_PROPERTIES(privacy-manager-server PROPERTIES SOVERSION ${API_VERSION})
78 SET_TARGET_PROPERTIES(privacy-manager-server PROPERTIES VERSION ${VERSION})
79 ###################################################################################################
80
81 SET(PC_NAME privacy-manager-server)
82 SET(PC_DESCRIPTION "Privacy Manager Server API")
83 SET(PC_LDFLAGS -lprivacy-manager-server)
84 SET(PC_CFLAGS "-I\${includedir}/privacy_manager -I\${includedir}/privacy_manager/server")
85
86 CONFIGURE_FILE(../privacy-manager-server.pc.in privacy-manager-server.pc @ONLY)
87
88 INSTALL(TARGETS privacy-manager-server DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
89 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/privacy-manager-server.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
90 INSTALL(FILES ${PRIVACY_MANAGER_SERVER_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/privacy_manager/server)