Initialize Tizen 2.3
[framework/osp/web.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
3 ADD_SUBDIRECTORY(src/controls/js-bridge-plugin-deprecated)
4 ADD_SUBDIRECTORY(src/controls/js-bridge-plugin-tizen)
5
6 SET (this_target osp-web)
7
8 INCLUDE_DIRECTORIES(
9         inc
10         src
11         src/controls
12         src/controls/inc
13
14         /usr/include/appfw
15         /usr/include/glib-2.0 
16         /usr/lib/glib-2.0/include
17         /usr/include/curl
18         /usr/include/dbus-1.0
19         /usr/lib/dbus-1.0/include
20         /usr/include/e_dbus-1
21         /usr/include/ecore-1
22         /usr/include/edje-1
23         /usr/include/eet-1
24         /usr/include/efreet-1
25         /usr/include/eina-1
26         /usr/include/eina-1/eina
27         /usr/include/elementary-1
28         /usr/include/ethumb-1
29         /usr/include/evas-1
30         /usr/include/ewebkit2-0
31         /usr/include/ewebkit2-0/WebKit2
32         /usr/include/libsoup-2.4
33         /usr/include/network
34         /usr/include/osp
35         /usr/include/osp/app
36         /usr/include/osp/base
37         /usr/include/osp/io
38         /usr/include/osp/net
39         /usr/include/osp/security
40         /usr/include/osp/system
41         /usr/include/osp/graphics
42         /usr/include/osp/content
43         /usr/include/osp/ui
44         /usr/include/web
45         /usr/include/vconf
46         /usr/include/media-content
47         )
48
49 SET (${this_target}_SOURCE_FILES
50         src/FWebHistoryItem.cpp
51         src/FWeb_HistoryItemImpl.cpp
52         src/FWebWebHistory.cpp
53         src/FWeb_WebHistoryImpl.cpp
54         src/FWebBookmarkItem.cpp
55         src/FWeb_BookmarkItemImpl.cpp
56         src/FWebWebBookmark.cpp
57         src/FWeb_WebBookmarkImpl.cpp
58         src/controls/FWebCtrlWeb.cpp
59         src/controls/FWebCtrl_WebImpl.cpp
60         src/controls/FWebCtrl_AuthConfirmPopup.cpp
61         src/controls/FWebCtrl_Web.cpp
62         src/controls/FWebCtrl_EflWebkit.cpp
63         src/controls/FWebCtrl_WebEventArg.cpp
64         src/controls/FWebCtrl_WebEvent.cpp
65         src/controls/FWebCtrlPageNavigationList.cpp
66         src/controls/FWebCtrl_PageNavigationListImpl.cpp
67         src/controls/FWebCtrlWebSetting.cpp
68         src/controls/FWebCtrl_WebSettingImpl.cpp
69         src/controls/FWebCtrlHitElementResult.cpp
70         src/controls/FWebCtrl_HitElementResultImpl.cpp
71         src/controls/FWebCtrl_SelectBox.cpp
72         src/controls/FWebCtrlAuthenticationChallenge.cpp
73         src/controls/FWebCtrl_AuthenticationChallengeImpl.cpp
74         src/controls/FWebCtrl_WebMaker.cpp
75         src/controls/FWebCtrl_AppControlListener.cpp
76         src/controls/FWebCtrl_WebPresenter.cpp
77         src/controls/FWebCtrl_PromptPopup.cpp
78         src/controls/FWebCtrl_Utility.cpp
79         src/controls/FWebCtrl_GestureState.cpp
80         src/controls/FWebCtrl_WebDataHandler.cpp
81         src/controls/FWebCtrlGeolocationPermissionManager.cpp
82         src/controls/FWebCtrl_GeolocationPermissionManagerImpl.cpp
83         src/controls/FWebCtrl_InputPickerPopup.cpp
84         src/controls/FWebCtrl_UserConfirmPopup.cpp
85         src/controls/FWebCtrl_WebPopup.cpp
86         src/controls/FWebCtrl_CertificateConfirmPopup.cpp
87         src/controls/FWebCtrlWebStorageManager.cpp
88         src/controls/FWebCtrl_WebStorageManagerImpl.cpp
89         src/controls/FWebCtrl_WebNotification.cpp
90         src/controls/FWebCtrl_WebNotificationHandler.cpp
91         src/controls/FWebCtrl_FormDataWindow.cpp
92         src/controls/FWebCtrl_WebManager.cpp
93 )
94 ## Add Definitions
95 ADD_DEFINITIONS(${OSP_DEFINITIONS} -D_MODEL_RES_WVGA)
96
97 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
98
99 ## SET C COMPILER FLAGS
100 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
101
102 ## SET CPP COMPILER FLAGS
103 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
104 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
105
106 ## Create Library
107 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
108
109 ## SET LINKER FLAGS
110 SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
111
112 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
113 TARGET_LINK_LIBRARIES(${this_target} "-losp-content" )
114 TARGET_LINK_LIBRARIES(${this_target} "-losp-json" )
115 TARGET_LINK_LIBRARIES(${this_target} "-losp-uifw" )
116 TARGET_LINK_LIBRARIES(${this_target} "-losp-image" )
117 TARGET_LINK_LIBRARIES(${this_target} "-losp-media" )
118 TARGET_LINK_LIBRARIES(${this_target} "-losp-net" )
119 TARGET_LINK_LIBRARIES(${this_target} "-lecore" )
120 TARGET_LINK_LIBRARIES(${this_target} "-lecore_x" )
121 TARGET_LINK_LIBRARIES(${this_target} "-lecore_imf" ) 
122 TARGET_LINK_LIBRARIES(${this_target} "-lecore_imf_evas" )
123 TARGET_LINK_LIBRARIES(${this_target} "-lelementary" )
124 TARGET_LINK_LIBRARIES(${this_target} "-levas" )
125 TARGET_LINK_LIBRARIES(${this_target} "-leina" )
126 TARGET_LINK_LIBRARIES(${this_target} "-lewebkit2" )
127 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-web-favorites" )
128 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-network-connection" )
129 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-content-media-content")
130 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
131 TARGET_LINK_LIBRARIES(${this_target} "-lvconf" )
132
133 SET_TARGET_PROPERTIES(${this_target} 
134         PROPERTIES 
135         VERSION ${FULLVER}
136         SOVERSION ${MAJORVER}
137         CLEAN_DIRECT_OUTPUT 1
138         )
139
140 ADD_CUSTOM_COMMAND(TARGET ${this_target}
141     POST_BUILD
142                 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} 
143                 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}
144                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
145     COMMENT "strip ${this_target}"
146                 )   
147
148 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp 
149                                 FILES_MATCHING PATTERN "libosp-*" 
150                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
151                                                                                 GROUP_EXECUTE GROUP_READ
152                                                                                 WORLD_EXECUTE WORLD_READ)
153 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp/browser-plugin 
154                                 FILES_MATCHING PATTERN "libweb-*" 
155                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
156                                                                                 GROUP_EXECUTE GROUP_READ
157                                                                                 WORLD_EXECUTE WORLD_READ)
158                                                                                 
159 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
160                                 FILES_MATCHING PATTERN "libosp-*" 
161                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
162                                                                                 GROUP_EXECUTE GROUP_READ
163                                                                                 WORLD_EXECUTE WORLD_READ)
164 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/browser-plugin/debug 
165                                 FILES_MATCHING PATTERN "libweb-*"
166                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
167                                                                                 GROUP_EXECUTE GROUP_READ
168                                                                                 WORLD_EXECUTE WORLD_READ)
169
170
171 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
172 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/controls/inc/ DESTINATION include/osp/web/controls FILES_MATCHING PATTERN "*.h")
173
174 # pkgconfig file
175 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
176 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)
177