1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 #PROJECT(privacy-guard-server)
4 SET(CMAKE_INSTALL_PREFIX /usr)
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6 SET(EXEC_PREFIX "\${prefix}")
7 SET(LIBDIR ${LIB_INSTALL_DIR})
8 SET(INCLUDEDIR ${INCLUDE_INSTALL_DIR})
12 SET(VERSION "${VERSION_MAJOR}.0.1")
14 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
16 INCLUDE(FindPkgConfig)
17 #pkg_check_modules(pkgs REQUIRED dlog pkgmgr-info cynara-monitor)
18 pkg_check_modules(pkgs REQUIRED dlog pkgmgr-info)
20 FOREACH(flag ${pkgs_CFLAGS})
21 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
24 SET(CMAKE_C_FLAGS_PROFILING " -g -pg")
25 SET(CMAKE_CXX_FLAGS_PROFILING " -std=c++0x -g -pg")
26 SET(CMAKE_C_FLAGS_DEBUG " -g")
27 SET(CMAKE_CXX_FLAGS_DEBUG " -std=c++0x -g")
28 SET(CMAKE_C_FLAGS_RELEASE " -g")
29 SET(CMAKE_CXX_FLAGS_RELEASE " -std=c++0x -g")
30 SET(CMAKE_C_FLAGS_CCOV " -g --coverage")
31 SET(CMAKE_CXX_FLAGS_CCOV " -std=c++0x -g --coverage")
34 SET(include_dir "./../inc/")
35 SET(common_src_dir "./../../common/src/")
36 SET(common_include_dir "./../../common/inc/")
39 ADD_DEFINITIONS("-fvisibility=hidden")
40 ADD_DEFINITIONS("-Wall -Werror")
41 ADD_DEFINITIONS("-DDLOG_ERROR_ENABLED")
43 ###################################################################################################
44 ## for libprivacy-guard-server.so (library)
45 INCLUDE_DIRECTORIES(${pkgs_INCLUDE_DIRS})
46 SET(PRIVACY_GUARD_SERVER_SOURCES
48 ${src_dir}/SocketService.cpp
49 # ${src_dir}/CynaraService.cpp
50 ${src_dir}/PrivacyGuardDaemon.cpp
51 ${common_src_dir}/SocketConnection.cpp
52 ${common_src_dir}/SocketStream.cpp
54 SET(PRIVACY_GUARD_SERVER_HEADERS
55 ${include_dir}/SocketService.h
56 # ${include_dir}/CynaraService.h
57 ${include_dir}/PrivacyGuardDaemon.h
58 ${common_include_dir}/SocketConnection.h
60 SET(PRIVACY_GUARD_SERVER_LDFLAGS " -module -avoid-version ")
61 SET(PRIVACY_GUARD_SERVER_CFLAGS " ${CFLAGS} -fPIC -I${include_dir}" -I${common_include_dir})
62 #SET(PRIVACY_GUARD_SERVER_LIBADD " ")
64 ADD_EXECUTABLE(privacy-guard-server ${PRIVACY_GUARD_SERVER_SOURCES})
65 TARGET_LINK_LIBRARIES(privacy-guard-server ${pkgs_LDFLAGS} ${pkgs_LIBRARIES})
66 SET_TARGET_PROPERTIES(privacy-guard-server PROPERTIES COMPILE_FLAGS "${PRIVACY_GUARD_SERVER_CFLAGS}")
67 SET_TARGET_PROPERTIES(privacy-guard-server PROPERTIES SOVERSION ${VERSION_MAJOR})
68 SET_TARGET_PROPERTIES(privacy-guard-server PROPERTIES VERSION ${VERSION})
69 ###################################################################################################
71 CONFIGURE_FILE(../../privacy-guard-server.pc.in privacy-guard-server.pc @ONLY)
73 INSTALL(TARGETS privacy-guard-server DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
74 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/privacy-guard-server.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
75 INSTALL(FILES ${PRIVACY_GUARD_SERVER_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR})