1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(privacy-manager)
4 SET(CMAKE_INSTALL_PREFIX /usr)
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6 SET(EXEC_PREFIX "\${prefix}")
7 SET(INCLUDEDIR "\${prefix}/include")
10 pkg_check_modules(pkgs REQUIRED dlog sqlite3 dbus-1 dbus-glib-1 db-util pkgmgr-info capi-system-info libtzplatform-config)
12 FOREACH(flag ${pkgs_CFLAGS})
13 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
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")
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")
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)
37 MESSAGE("FILTER PKGs BY FILTERING LIST")
38 ADD_DEFINITIONS("-D__FILTER_LISTED_PKG")
39 ENDIF(FILTER_LISTED_PKG)
41 ###################################################################################################
42 ## for privacy-manager-server (executable)
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
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
69 SET(PRIVACY_MANAGER_SERVER_LDFLAGS " -module -avoid-version ")
70 SET(PRIVACY_MANAGER_SERVER_CFLAGS " ${CFLAGS} -fPIC ")
71 #SET(PRIVACY_MANAGER_SERVER_LIBADD " ")
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 ###################################################################################################
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")
86 CONFIGURE_FILE(../privacy-manager-server.pc.in privacy-manager-server.pc @ONLY)
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)