Updated Spec file for enabling debug macro
[platform/framework/native/common-service.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-common-service)
4 SET (APPID sjjevolsjk)
5
6 SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
7 SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/output")
8
9 INCLUDE_DIRECTORIES (
10         inc
11         src/messaging
12         src/system
13         src/ui
14         /usr/include/osp/ui
15         )
16
17 SET (${this_target}_SOURCE_FILES
18         src/CommonService.cpp
19         src/CommonServiceEntry.cpp
20         )
21
22 INCLUDE(FindPkgConfig)
23 pkg_check_modules(${this_target} REQUIRED
24         glib-2.0
25         ecore
26         eina
27         chromium
28         libsmack
29         capi-appfw-application
30         osp-appfw
31         osp-appfw-server
32         osp-system-server
33 )
34
35 FOREACH(flag ${${this_target}_CFLAGS})
36         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
37 ENDFOREACH(flag)
38
39 ADD_SUBDIRECTORY(src/messaging)
40 ADD_SUBDIRECTORY(src/system)
41 ADD_SUBDIRECTORY(src/ui)
42
43 ## SET EXTRA COMPILER FLAGS
44 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -fPIE -Wall -pthread -g3" )
45 #SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -fstack-protector -Wstack-protector" )
46
47 ## SET C COMPILER FLAGS
48 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
49
50 ## SET CPP COMPILER FLAGS
51 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
52 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
53
54 SET(CMAKE_SKIP_BUILD_RPATH FALSE)
55 SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
56 SET(CMAKE_INSTALL_RPATH "/usr/lib/osp-server")
57 SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
58
59 ## Create Executable
60 ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES})
61
62 ## Create Shared Library
63 SET(STATIC_LIBS messaging_service system_service ui_service)
64
65 SET_TARGET_PROPERTIES(${this_target} PROPERTIES LINK_INTERFACE_LIBRARIES "")
66
67 ADD_DEPENDENCIES(${this_target} ${STATIC_LIBS})
68
69 MACRO(OSP_ADD_OBJS_IN_ARCHIVE archives)
70         SET(LINK_OBJECTS_IN_ARCHIVE)
71         FOREACH(archive ${ARGV})
72                 SET(LINK_OBJECTS_IN_ARCHIVE "${LINK_OBJECTS_IN_ARCHIVE} -l${archive}")
73         ENDFOREACH(archive)
74         SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--whole-archive ${LINK_OBJECTS_IN_ARCHIVE} -Wl,-no-whole-archive")
75 ENDMACRO(OSP_ADD_OBJS_IN_ARCHIVE)
76
77 OSP_ADD_OBJS_IN_ARCHIVE(${STATIC_LIBS})
78
79 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
80
81 TARGET_LINK_LIBRARIES( ${this_target} ${STATIC_LIBS})
82
83 TARGET_LINK_LIBRARIES(${this_target} -Xlinker --no-undefined -Xlinker --as-needed -pie)
84 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-uifw" )
85 TARGET_LINK_LIBRARIES(${this_target} -L/usr/lib/osp -losp-messaging)
86 TARGET_LINK_LIBRARIES(${this_target} "-lmsg_mapi" )
87 TARGET_LINK_LIBRARIES(${this_target} "-lutilX" )
88 TARGET_LINK_LIBRARIES(${this_target} "-lecore_x" )
89 TARGET_LINK_LIBRARIES(${this_target} "-ltapi" )
90 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-system-info" )
91 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-network-wifi" )
92 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib -lkies_alarm")
93 TARGET_LINK_LIBRARIES(${this_target} "-ldl")
94 TARGET_LINK_LIBRARIES(${this_target} ${${this_target}_LDFLAGS} ${${this_target}_LIBRARIES})
95
96 INSTALL(TARGETS ${this_target} DESTINATION ../usr/apps/${APPID}/bin)
97 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/manifest.xml DESTINATION ../usr/apps/${APPID}/info)
98 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/global_res/opt/usr/etc/system_info_cache.ini DESTINATION ../opt/usr/etc)
99 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/ DESTINATION ../usr/apps/${APPID}/data)
100 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/global_res/opt/etc/smack/accesses.d/osp-common-service.native DESTINATION ../etc/smack/accesses.d)