1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 #PROJECT(privacy-manager-client)
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")
12 SET(VERSION "${VERSION_MAJOR}.0.1")
14 INCLUDE(FindPkgConfig)
15 pkg_check_modules(pkgs REQUIRED dlog sqlite3 dbus-1 dbus-glib-1)
17 FOREACH(flag ${pkgs_CFLAGS})
18 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
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")
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/")
35 "/usr/include/dbus-1.0"
40 ADD_DEFINITIONS("-fvisibility=hidden")
41 ADD_DEFINITIONS("-Wall -Werror")
42 ADD_DEFINITIONS("-DDLOG_ERROR_ENABLED")
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
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
67 SET(PRIVACY_MANAGER_CLIENT_LDFLAGS " -module -avoid-version ")
68 SET(PRIVACY_MANAGER_CLIENT_CFLAGS " ${CFLAGS} -fPIC ")
69 #SET(PRIVACY_MANAGER_CLIENT_LIBADD " ")
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 ###################################################################################################
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)
84 CONFIGURE_FILE(../privacy-manager-client.pc.in privacy-manager-client.pc @ONLY)
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)