1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(remote-server CXX)
3 SET(EXTERNAL_RESOURCES_DIR ${CMAKE_CURRENT_BINARY_DIR}/external)
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")
15 SET(CMAKE_BUILD_TYPE "Debug")
17 SET(CMAKE_VERBOSE_MAKEFILE ON) # make verbosity
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)
23 SET(NODE_DIR "/usr/apps/")
25 LINK_DIRECTORIES(/usr/lib)
27 include_directories(${EXTERNAL_RESOURCES_DIR}/include)
28 link_directories(${EXTERNAL_RESOURCES_DIR}/lib)
29 include_directories(${DBUS_INCLUDE})
30 include_directories(${DBUS_TRY})
34 FIND_PACKAGE(PkgConfig REQUIRED)
35 PKG_CHECK_MODULES(GLIB2 REQUIRED glib-2.0)
36 PKG_CHECK_MODULES(DBUS-GLIB REQUIRED dbus-glib-1)
38 INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS} ${DBUS-GLIB_INCLUDE_DIRS})
39 LINK_DIRECTORIES(${GLIB2_LIBRARY_DIRS} ${DBUS-GLIB_LIBRARY_DIRS})
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)
45 # Available Modules : ACL, DIAL, SmartView(Pincode), MSF
46 # All support : High grade TV model (ex. HawkP, HawkM)
47 # ACL only support : LFD
49 IF("${PRODUCT_TYPE}" STREQUAL "LFD")
50 ADD_DEFINITIONS("-DSUPPORT_ACL_ONLY")
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
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
73 ENDIF("${PRODUCT_TYPE}" STREQUAL "LFD")
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
82 /usr/include/vd_kernel-headers
85 INCLUDE(FindPkgConfig)
86 pkg_check_modules(packages REQUIRED
89 capi-network-connection
90 capi-appfw-app-manager
99 capi-appfw-application
101 capi-system-system-settings
113 FOREACH(flag ${packages_CFLAGS})
114 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
117 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -fvisibility=hidden -Wall")
118 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -g ")
119 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS}")
121 ADD_LIBRARY(CManager ${CM-MANAGER-SRCS})
123 ADD_EXECUTABLE(${PROJECT_NAME} ${CMAKE_SOURCE_DIR}/main.cpp ) # compile the main executable file
125 TARGET_LINK_LIBRARIES(${PROJECT_NAME}
127 ${DBUS-GLIB_LIBRARIES}
134 ) # link the main executable file with libraries
138 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/MSF-Node/org.tizen.multiscreen DESTINATION ${NODE_DIR})
140 INSTALL(FILES packaging/org.tizen.multiscreen.service packaging/remote-server.service DESTINATION /usr/lib/systemd/user)
141 INSTALL(TARGETS ${PROJECT_NAME}
142 RUNTIME DESTINATION bin
143 LIBRARY DESTINATION lib