Apply gem
[platform/framework/native/shell.git] / src / CMakeLists.txt
1 SET (this_target osp-shell)
2
3 INCLUDE_DIRECTORIES(
4         ${CMAKE_SOURCE_DIR}/inc
5         ${CMAKE_SOURCE_DIR}/src
6         ${CMAKE_SOURCE_DIR}/src/inc
7         /usr/include/chromium
8         /usr/include/osp
9         /usr/include/osp/app
10         /usr/include/osp/base
11         /usr/include/osp/io
12         /usr/include/osp/graphics
13         /usr/include/osp/ui
14         /usr/include/osp/security
15         
16         /usr/include 
17     /usr/include/appfw
18     /usr/include/uifw
19     /usr/include/glib-2.0 
20     /usr/lib/glib-2.0/include 
21     /usr/include/cairo
22     /usr/include/chromium
23     /usr/include/dlog
24     /usr/include/dbus-1.0
25     /usr/include/dri2
26         /usr/include/libdrm
27     /usr/include/notification
28     /usr/lib/dbus-1.0/include
29     /usr/include/e_dbus-1
30     /usr/include/elementary-1 
31     /usr/include/efreet-1 
32     /usr/include/ecore-1 
33     /usr/include/edje-1 
34     /usr/include/evas-1 
35     /usr/include/eet-1 
36     /usr/include/eina-1 
37     /usr/include/eina-1/eina
38     /usr/include/ethumb-1
39     /usr/include/freetype2
40     /usr/include/fribidi
41     /usr/include/harfbuzz
42     /usr/include/libxml2
43     /usr/include/minizip
44     /usr/include/minicontrol
45     /usr/include/pango-1.0
46     /usr/include/pixman-1
47     /usr/include/system
48     /usr/include/vconf
49     /usr/include/shortcut
50     /usr/include/provider
51     /usr/include/livebox-service
52     /usr/include/livebox-viewer
53     /usr/include/osp/media
54 )
55
56 SET (${this_target}_SOURCE_FILES
57         FShellQuickPanelFrame.cpp
58         FShell_QuickPanelFrame.cpp
59         FShell_QuickPanelFrameImpl.cpp
60         FShell_QuickPanelFramePresenter.cpp
61         FShell_AppWidgetProviderImpl.cpp
62         FShell_AppWidgetPopupProviderImpl.cpp
63         FShell_AppWidgetProviderInfoImpl.cpp
64         FShell_AppWidgetSizeInfoImpl.cpp
65         FShell_AppWidgetManagerImpl.cpp
66         FShell_AppWidgetProviderManagerImpl.cpp
67         FShell_AppWidgetManagerProxy.cpp
68         FShellAppWidgetProvider.cpp
69         FShellAppWidgetPopupProvider.cpp
70         FShellAppWidgetProviderInfo.cpp
71         FShellAppWidgetSizeInfo.cpp
72         FShellAppWidgetManager.cpp
73         FShellAppWidgetProviderManager.cpp
74         FShell_AppWidgetManagerIpcMessage.cpp
75         FShell_AppWidgetBuffer.cpp
76         FShell_AppWidgetFrame.cpp
77         FShell_AppWidgetFrameImpl.cpp
78         FShell_AppWidgetFrameModel.cpp
79         FShell_AppWidgetFramePresenter.cpp
80         FShell_AppWidgetLayer.cpp
81         FShell_AppWidgetPopup.cpp
82         FShell_AppWidgetPopupImpl.cpp
83         FShell_AppWidgetPopupModel.cpp
84         FShell_AppWidgetPopupPresenter.cpp
85         FShell_AppWidgetPopupView.cpp
86         FShell_AppWidgetPopupViewEvent.cpp
87         FShell_AppWidgetPopupViewPresenter.cpp
88         FShell_AppWidgetView.cpp
89         FShell_AppWidgetViewImpl.cpp
90         FShell_AppWidgetViewManager.cpp
91         FShell_AppWidgetViewModel.cpp
92         FShell_AppWidgetViewPresenter.cpp
93         FShellAppWidgetFrame.cpp
94         FShellAppWidgetPopup.cpp
95         FShellAppWidgetView.cpp
96 )
97
98 ## Definitions
99 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
100
101 ## SET C COMPILER FLAGS
102 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
103
104 ## SET CPP COMPILER FLAGS
105 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
106 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
107
108 ## Create Library
109 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
110
111 ## SET LINKER FLAGS
112 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
113
114 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
115 TARGET_LINK_LIBRARIES(${this_target} "-lchromium" )
116 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
117 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-uifw" )
118 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-image-core" )
119 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-shell-core" )
120 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-appfw-application" )
121 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-appfw-app-manager" )
122 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-appfw-package-manager" )
123 TARGET_LINK_LIBRARIES(${this_target} "-lnotification" )
124 TARGET_LINK_LIBRARIES(${this_target} "-lecore" )
125 TARGET_LINK_LIBRARIES(${this_target} "-levas" )
126 TARGET_LINK_LIBRARIES(${this_target} "-leina" )
127 TARGET_LINK_LIBRARIES(${this_target} "-lecore_evas" )
128 TARGET_LINK_LIBRARIES(${this_target} "-lelementary" )
129 TARGET_LINK_LIBRARIES(${this_target} "-lminicontrol-provider" )
130 #TARGET_LINK_LIBRARIES(${this_target} "-lcapi-system-runtime-info")
131 TARGET_LINK_LIBRARIES(${this_target} "-lX11" )
132 TARGET_LINK_LIBRARIES(${this_target} "-lXext" )
133 TARGET_LINK_LIBRARIES(${this_target} "-lecore_x" )
134 TARGET_LINK_LIBRARIES(${this_target} "-llivebox-viewer" )
135 TARGET_LINK_LIBRARIES(${this_target} "-llivebox-service" )
136 TARGET_LINK_LIBRARIES(${this_target} "-lprovider" )
137 TARGET_LINK_LIBRARIES(${this_target} "-lshortcut" )
138 TARGET_LINK_LIBRARIES(${this_target} "-ldri2" )
139 TARGET_LINK_LIBRARIES(${this_target} "-ldrm" )
140 TARGET_LINK_LIBRARIES(${this_target} "-ltbm" )
141
142 SET_TARGET_PROPERTIES(${this_target} 
143         PROPERTIES 
144         VERSION ${FULLVER}
145         SOVERSION ${MAJORVER}
146         CLEAN_DIRECT_OUTPUT 1
147 )
148
149 ADD_CUSTOM_COMMAND(TARGET ${this_target}
150                 POST_BUILD
151                 COMMAND ${CMAKE_COMMAND} -E copy ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} 
152                 COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
153                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
154                 COMMENT "strip ${this_target}"
155 )