Changed to user daemon
[platform/core/convergence/app-comm-svc.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(remote-server CXX)
3 SET(EXTERNAL_RESOURCES_DIR ${CMAKE_CURRENT_BINARY_DIR}/external)
4
5
6 # --- VARIABLES 
7
8 # -- building options
9
10 # C++
11 SET(CMAKE_CXX_FLAGS "-Wall -DHAVE_NETINET_IN_H -lsystemd-daemon -lpthread -Wno-variadic-macros -fPIC") 
12 SET(CMAKE_CXX_FLAGS_DEBUG "-g -O2")
13 SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
14
15 SET(CMAKE_BUILD_TYPE "Debug")
16
17 SET(CMAKE_VERBOSE_MAKEFILE ON) # make verbosity
18
19 SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
20 SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
21 SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
22
23 SET(NODE_DIR "/usr/apps/")
24
25 LINK_DIRECTORIES(/usr/lib)
26
27 include_directories(${EXTERNAL_RESOURCES_DIR}/include)
28 link_directories(${EXTERNAL_RESOURCES_DIR}/lib)
29 include_directories(${DBUS_INCLUDE})
30 include_directories(${DBUS_TRY})
31
32
33
34 FIND_PACKAGE(PkgConfig REQUIRED)
35 PKG_CHECK_MODULES(GLIB2 REQUIRED glib-2.0)
36 PKG_CHECK_MODULES(DBUS-GLIB REQUIRED dbus-glib-1)
37
38 INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS} ${DBUS-GLIB_INCLUDE_DIRS})
39 LINK_DIRECTORIES(${GLIB2_LIBRARY_DIRS} ${DBUS-GLIB_LIBRARY_DIRS})
40
41 set(CMAKE_FIND_ROOT_PATH ${EXTERNAL_RESOURCES_DIR})
42 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
43 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
44
45 # Available Modules : ACL, DIAL, SmartView(Pincode), MSF
46 # All support : High grade TV model (ex. HawkP, HawkM)
47 # ACL only support : LFD
48
49 IF("${PRODUCT_TYPE}" STREQUAL "LFD")
50         ADD_DEFINITIONS("-DSUPPORT_ACL_ONLY")
51
52 SET( CM-MANAGER-SRCS
53         ${CMAKE_SOURCE_DIR}/Src/Common/REMOTEMutex.cpp
54         ${CMAKE_SOURCE_DIR}/Src/Common/REMOTESemaphore.cpp
55         ${CMAKE_SOURCE_DIR}/Src/Common/REMOTEThread.cpp
56         ${CMAKE_SOURCE_DIR}/Src/Common/REMOTEString.cpp
57         ${CMAKE_SOURCE_DIR}/Src/Common/REMOTEApp.cpp
58         )
59
60 else()
61 SET( CM-MANAGER-SRCS
62         ${CMAKE_SOURCE_DIR}/Src/Common/REMOTEMutex.cpp
63         ${CMAKE_SOURCE_DIR}/Src/Common/REMOTESemaphore.cpp
64         ${CMAKE_SOURCE_DIR}/Src/Common/REMOTEThread.cpp
65         ${CMAKE_SOURCE_DIR}/Src/Common/REMOTEString.cpp
66         ${CMAKE_SOURCE_DIR}/Src/Common/REMOTEApp.cpp
67                 ${CMAKE_SOURCE_DIR}/PinCodeService/IPCServer.cpp
68                 ${CMAKE_SOURCE_DIR}/PinCodeService/MSFServer.cpp
69                 ${CMAKE_SOURCE_DIR}/PinCodeService/Util/MSFSend.cpp
70                 ${CMAKE_SOURCE_DIR}/PinCodeService/Util/RemoteLogger.cpp
71                 )
72
73 ENDIF("${PRODUCT_TYPE}" STREQUAL "LFD")
74
75 INCLUDE_DIRECTORIES(
76         ${CMAKE_SOURCE_DIR}/Inc
77 #        ${CMAKE_SOURCE_DIR}/usr/include/webconv
78         ${CMAKE_SOURCE_DIR}/Inc/Common
79         ${CMAKE_SOURCE_DIR}/PinCodeService
80         ${CMAKE_SOURCE_DIR}/PinCodeService/Util
81         ${DBUS_INCLUDE}
82         /usr/include/vd_kernel-headers
83         )
84
85 INCLUDE(FindPkgConfig)
86 pkg_check_modules(packages REQUIRED 
87         capi-system-info 
88         capi-network-wifi 
89         capi-network-connection  
90         capi-appfw-app-manager
91         glib-2.0 
92         libcurl 
93         dlog 
94         dbus-glib-1 
95         gobject-2.0 
96         gmodule-2.0 
97         syspopup 
98         syspopup-caller 
99         capi-appfw-application 
100         vconf 
101         capi-system-system-settings 
102         gio-2.0 
103         libsystemd 
104         jsoncpp 
105         deviced 
106         libxml-2.0
107         bluetooth-api
108         argos_watchdog
109         aul
110         libtzplatform-config
111 )
112
113
114 FOREACH(flag ${packages_CFLAGS})
115        SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
116 ENDFOREACH(flag)
117
118 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -fvisibility=hidden -Wall")
119 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -g ")
120 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS}")
121
122 ADD_LIBRARY(CManager ${CM-MANAGER-SRCS})
123
124 ADD_EXECUTABLE(${PROJECT_NAME}  ${CMAKE_SOURCE_DIR}/main.cpp ) # compile the main executable file
125
126 TARGET_LINK_LIBRARIES(${PROJECT_NAME}
127     ${GLIB2_LIBRARIES}
128     ${DBUS-GLIB_LIBRARIES}
129     ${packages_LDFLAGS}
130     boost_system
131     boost_thread
132     libexpat.so
133     libcrypto.so
134     CManager
135 ) # link the main executable file with libraries
136
137
138
139 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/MSF-Node/org.tizen.multiscreen DESTINATION ${NODE_DIR})
140
141 INSTALL(FILES packaging/org.tizen.multiscreen.service packaging/remote-server.service DESTINATION /usr/lib/systemd/user)
142 INSTALL(TARGETS ${PROJECT_NAME}  
143     RUNTIME DESTINATION bin
144     LIBRARY DESTINATION lib
145 )