Move files to own directory
[framework/osp/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         /usr/include/glib-2.0
11         /usr/lib/glib-2.0/include
12         /usr/include/ecore-1
13         /usr/include/eina-1
14         /usr/include/eina-1/eina
15         /usr/include/appfw
16         /usr/include/osp
17         /usr/include/osp/app
18         /usr/include/osp/base
19         /usr/include/osp/io
20         /usr/include/osp/system
21         /usr/include/osp/security
22         /usr/include/osp/ui
23         /usr/include/osp/server
24         /usr/include/chromium
25         /usr/include/osp/system-service/inc
26         /usr/include/osp/system-server/
27         inc
28         )
29
30 SET (${this_target}_SOURCE_FILES
31         src/FApp_PackageManagerStub.cpp
32         src/FUi_UiManagerStub.cpp
33         src/CommonService.cpp
34         src/CommonServiceEntry.cpp
35         )
36
37 ADD_SUBDIRECTORY(src/system)
38
39 ## SET EXTRA COMPILER FLAGS
40 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -fPIE -Wall -pthread -g3" )
41 #SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -fstack-protector -Wstack-protector" )
42
43 ## SET C COMPILER FLAGS
44 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
45
46 ## SET CPP COMPILER FLAGS
47 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
48 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
49
50 SET(CMAKE_SKIP_BUILD_RPATH FALSE)
51 SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
52 SET(CMAKE_INSTALL_RPATH "/usr/lib/osp-server")
53 SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
54
55 ## Create Executable
56 ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES})
57
58 ## Create Shared Library
59 SET(STATIC_LIBS system_service)
60
61 SET_TARGET_PROPERTIES(${this_target} PROPERTIES LINK_INTERFACE_LIBRARIES "")
62
63 ADD_DEPENDENCIES(${this_target} ${STATIC_LIBS})
64
65 MACRO(OSP_ADD_OBJS_IN_ARCHIVE archives)
66         SET(LINK_OBJECTS_IN_ARCHIVE)
67         FOREACH(archive ${ARGV})
68                 SET(LINK_OBJECTS_IN_ARCHIVE "${LINK_OBJECTS_IN_ARCHIVE} -l${archive}")
69         ENDFOREACH(archive)
70         SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--whole-archive ${LINK_OBJECTS_IN_ARCHIVE} -Wl,-no-whole-archive")
71 ENDMACRO(OSP_ADD_OBJS_IN_ARCHIVE)
72
73 OSP_ADD_OBJS_IN_ARCHIVE(${STATIC_LIBS})
74
75 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
76
77 TARGET_LINK_LIBRARIES( ${this_target} ${STATIC_LIBS})
78
79 TARGET_LINK_LIBRARIES(${this_target} -Xlinker --no-undefined -Xlinker --as-needed -pie)
80 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw -lchromium")
81 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-uifw" )
82 TARGET_LINK_LIBRARIES(${this_target} "-lutilX" )
83 TARGET_LINK_LIBRARIES(${this_target} "-lecore_x" )
84 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp-server -losp-appfw-server")
85 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp-server -losp-system-server")
86 TARGET_LINK_LIBRARIES(${this_target} "-ldl")
87
88 INSTALL(TARGETS ${this_target} DESTINATION ../usr/apps/${APPID}/bin)
89 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/manifest.xml DESTINATION ../usr/apps/${APPID}/info)
90 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/ DESTINATION ../usr/apps/${APPID}/data)
91