[WPE] Use libepoxy
[WebKit.git] / Source / WebCore / PlatformWPE.cmake
1 include(platform/Cairo.cmake)
2 include(platform/FreeType.cmake)
3 include(platform/GStreamer.cmake)
4 include(platform/ImageDecoders.cmake)
5 include(platform/Linux.cmake)
6 include(platform/TextureMapper.cmake)
7
8 # Allow building ANGLE on platforms that don't provide X11 headers.
9 list(APPEND ANGLE_PLATFORM_DEFINITIONS "USE_WPE")
10
11 list(APPEND WebCore_INCLUDE_DIRECTORIES
12     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
13     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector"
14     ${JAVASCRIPTCORE_DIR}
15     "${JAVASCRIPTCORE_DIR}/ForwardingHeaders"
16     "${JAVASCRIPTCORE_DIR}/API"
17     "${JAVASCRIPTCORE_DIR}/assembler"
18     "${JAVASCRIPTCORE_DIR}/bytecode"
19     "${JAVASCRIPTCORE_DIR}/bytecompiler"
20     "${JAVASCRIPTCORE_DIR}/dfg"
21     "${JAVASCRIPTCORE_DIR}/disassembler"
22     "${JAVASCRIPTCORE_DIR}/domjit"
23     "${JAVASCRIPTCORE_DIR}/heap"
24     "${JAVASCRIPTCORE_DIR}/debugger"
25     "${JAVASCRIPTCORE_DIR}/interpreter"
26     "${JAVASCRIPTCORE_DIR}/jit"
27     "${JAVASCRIPTCORE_DIR}/llint"
28     "${JAVASCRIPTCORE_DIR}/parser"
29     "${JAVASCRIPTCORE_DIR}/profiler"
30     "${JAVASCRIPTCORE_DIR}/runtime"
31     "${JAVASCRIPTCORE_DIR}/yarr"
32     "${THIRDPARTY_DIR}/ANGLE/"
33     "${THIRDPARTY_DIR}/ANGLE/include/KHR"
34     "${WEBCORE_DIR}/platform/graphics/egl"
35     "${WEBCORE_DIR}/platform/graphics/glx"
36     "${WEBCORE_DIR}/platform/graphics/gstreamer"
37     "${WEBCORE_DIR}/platform/graphics/opengl"
38     "${WEBCORE_DIR}/platform/graphics/opentype"
39     "${WEBCORE_DIR}/platform/graphics/wpe"
40     "${WEBCORE_DIR}/platform/graphics/wayland"
41     "${WEBCORE_DIR}/platform/mock/mediasource"
42     "${WEBCORE_DIR}/platform/network/soup"
43     "${WEBCORE_DIR}/platform/text/icu"
44     ${WTF_DIR}
45 )
46
47 list(APPEND WebCore_SOURCES
48     accessibility/wpe/AXObjectCacheWPE.cpp
49     accessibility/wpe/AccessibilityObjectWPE.cpp
50
51     loader/soup/CachedRawResourceSoup.cpp
52     loader/soup/SubresourceLoaderSoup.cpp
53
54     page/linux/ResourceUsageOverlayLinux.cpp
55     page/linux/ResourceUsageThreadLinux.cpp
56
57     page/scrolling/ScrollingStateStickyNode.cpp
58     page/scrolling/ScrollingThread.cpp
59     page/scrolling/ScrollingTreeNode.cpp
60     page/scrolling/ScrollingTreeScrollingNode.cpp
61
62     page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp
63     page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp
64
65     platform/Cursor.cpp
66     platform/PlatformStrategies.cpp
67     platform/Theme.cpp
68
69     platform/audio/glib/AudioBusGLib.cpp
70
71     platform/glib/EventLoopGlib.cpp
72     platform/glib/FileSystemGlib.cpp
73     platform/glib/KeyedDecoderGlib.cpp
74     platform/glib/KeyedEncoderGlib.cpp
75     platform/glib/MainThreadSharedTimerGLib.cpp
76     platform/glib/SSLKeyGeneratorGLib.cpp
77     platform/glib/SharedBufferGlib.cpp
78
79     platform/graphics/GLContext.cpp
80     platform/graphics/GraphicsContext3DPrivate.cpp
81     platform/graphics/ImageSource.cpp
82     platform/graphics/PlatformDisplay.cpp
83     platform/graphics/WOFFFileFormat.cpp
84
85     platform/graphics/egl/GLContextEGL.cpp
86
87     platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
88     platform/graphics/opengl/Extensions3DOpenGLES.cpp
89     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
90     platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
91     platform/graphics/opengl/TemporaryOpenGLSetting.cpp
92
93     platform/graphics/opentype/OpenTypeVerticalData.cpp
94
95     platform/graphics/wpe/PlatformDisplayWPE.cpp
96
97     platform/network/soup/AuthenticationChallengeSoup.cpp
98     platform/network/soup/CertificateInfo.cpp
99     platform/network/soup/CookieJarSoup.cpp
100     platform/network/soup/CookieStorageSoup.cpp
101     platform/network/soup/CredentialStorageSoup.cpp
102     platform/network/soup/DNSSoup.cpp
103     platform/network/soup/GRefPtrSoup.cpp
104     platform/network/soup/NetworkStorageSessionSoup.cpp
105     platform/network/soup/ProxyServerSoup.cpp
106     platform/network/soup/ResourceErrorSoup.cpp
107     platform/network/soup/ResourceHandleSoup.cpp
108     platform/network/soup/ResourceRequestSoup.cpp
109     platform/network/soup/ResourceResponseSoup.cpp
110     platform/network/soup/SocketStreamHandleImplSoup.cpp
111     platform/network/soup/SoupNetworkSession.cpp
112     platform/network/soup/SynchronousLoaderClientSoup.cpp
113     platform/network/soup/WebKitSoupRequestGeneric.cpp
114
115     platform/soup/PublicSuffixSoup.cpp
116     platform/soup/SharedBufferSoup.cpp
117     platform/soup/URLSoup.cpp
118
119     platform/text/Hyphenation.cpp
120     platform/text/LocaleICU.cpp
121     platform/text/TextCodecICU.cpp
122     platform/text/TextEncodingDetectorICU.cpp
123
124     platform/unix/LoggingUnix.cpp
125
126     platform/xdg/MIMETypeRegistryXdg.cpp
127 )
128
129 list(APPEND WebCorePlatformWPE_SOURCES
130     editing/wpe/EditorWPE.cpp
131
132     page/wpe/EventHandlerWPE.cpp
133
134     platform/graphics/egl/GLContextEGLWPE.cpp
135
136     platform/graphics/wpe/IconWPE.cpp
137     platform/graphics/wpe/ImageWPE.cpp
138
139     platform/wpe/CursorWPE.cpp
140     platform/wpe/LocalizedStringsWPE.cpp
141     platform/wpe/PasteboardWPE.cpp
142     platform/wpe/PlatformKeyboardEventWPE.cpp
143     platform/wpe/PlatformPasteboardWPE.cpp
144     platform/wpe/PlatformScreenWPE.cpp
145     platform/wpe/RenderThemeWPE.cpp
146     platform/wpe/ScrollbarThemeWPE.cpp
147     platform/wpe/ThemeWPE.cpp
148     platform/wpe/WidgetWPE.cpp
149 )
150
151 list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
152     ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsBase.css
153 )
154
155 set(WebCore_USER_AGENT_SCRIPTS
156     ${WEBCORE_DIR}/English.lproj/mediaControlsLocalizedStrings.js
157     ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsBase.js
158 )
159
160 set(WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES ${WEBCORE_DIR}/platform/wpe/RenderThemeWPE.cpp)
161
162 list(APPEND WebCore_LIBRARIES
163     ${CAIRO_LIBRARIES}
164     ${GLIB_GIO_LIBRARIES}
165     ${GLIB_GMODULE_LIBRARIES}
166     ${GLIB_GOBJECT_LIBRARIES}
167     ${GLIB_LIBRARIES}
168     ${GNUTLS_LIBRARIES}
169     ${ICU_LIBRARIES}
170     ${LIBGCRYPT_LIBRARIES}
171     ${LIBSOUP_LIBRARIES}
172     ${LIBTASN1_LIBRARIES}
173     ${LIBXML2_LIBRARIES}
174     ${LIBXSLT_LIBRARIES}
175     ${SQLITE_LIBRARIES}
176     ${WPE_LIBRARIES}
177 )
178
179 list(APPEND WebCore_INCLUDE_DIRECTORIES
180     ${CAIRO_INCLUDE_DIRS}
181     ${GIO_UNIX_INCLUDE_DIRS}
182     ${GLIB_INCLUDE_DIRS}
183     ${GNUTLS_INCLUDE_DIRS}
184     ${ICU_INCLUDE_DIRS}
185     ${LIBGCRYPT_INCLUDE_DIRS}
186     ${LIBSOUP_INCLUDE_DIRS}
187     ${LIBTASN1_INCLUDE_DIRS}
188     ${LIBXML2_INCLUDE_DIR}
189     ${LIBXSLT_INCLUDE_DIR}
190     ${SQLITE_INCLUDE_DIR}
191     ${WPE_INCLUDE_DIRS}
192 )
193
194 add_library(WebCorePlatformWPE ${WebCore_LIBRARY_TYPE} ${WebCorePlatformWPE_SOURCES})
195 add_dependencies(WebCorePlatformWPE WebCore)
196 WEBKIT_SET_EXTRA_COMPILER_FLAGS(WebCorePlatformWPE)
197 target_include_directories(WebCorePlatformWPE PRIVATE
198     ${WebCore_INCLUDE_DIRECTORIES}
199 )
200 target_include_directories(WebCorePlatformWPE SYSTEM PRIVATE
201     ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
202 )
203 target_link_libraries(WebCorePlatformWPE
204     ${WebCore_LIBRARIES}
205 )
206
207 if (ENABLE_SUBTLE_CRYPTO)
208     list(APPEND WebCore_SOURCES
209         crypto/CryptoAlgorithm.cpp
210         crypto/CryptoAlgorithmRegistry.cpp
211         crypto/CryptoKey.cpp
212         crypto/SubtleCrypto.cpp
213         crypto/WebKitSubtleCrypto.cpp
214
215         crypto/algorithms/CryptoAlgorithmAES_CBC.cpp
216         crypto/algorithms/CryptoAlgorithmAES_CFB.cpp
217         crypto/algorithms/CryptoAlgorithmAES_CTR.cpp
218         crypto/algorithms/CryptoAlgorithmAES_GCM.cpp
219         crypto/algorithms/CryptoAlgorithmAES_KW.cpp
220         crypto/algorithms/CryptoAlgorithmECDH.cpp
221         crypto/algorithms/CryptoAlgorithmECDSA.cpp
222         crypto/algorithms/CryptoAlgorithmHKDF.cpp
223         crypto/algorithms/CryptoAlgorithmHMAC.cpp
224         crypto/algorithms/CryptoAlgorithmPBKDF2.cpp
225         crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp
226         crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp
227         crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp
228         crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp
229         crypto/algorithms/CryptoAlgorithmSHA1.cpp
230         crypto/algorithms/CryptoAlgorithmSHA224.cpp
231         crypto/algorithms/CryptoAlgorithmSHA256.cpp
232         crypto/algorithms/CryptoAlgorithmSHA384.cpp
233         crypto/algorithms/CryptoAlgorithmSHA512.cpp
234
235         crypto/gcrypt/CryptoAlgorithmAES_CBCGCrypt.cpp
236         crypto/gcrypt/CryptoAlgorithmAES_CFBGCrypt.cpp
237         crypto/gcrypt/CryptoAlgorithmAES_CTRGCrypt.cpp
238         crypto/gcrypt/CryptoAlgorithmAES_GCMGCrypt.cpp
239         crypto/gcrypt/CryptoAlgorithmAES_KWGCrypt.cpp
240         crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp
241         crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp
242         crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp
243         crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp
244         crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp
245         crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp
246         crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp
247         crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp
248         crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp
249         crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp
250         crypto/gcrypt/CryptoKeyECGCrypt.cpp
251         crypto/gcrypt/CryptoKeyRSAGCrypt.cpp
252         crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp
253
254         crypto/keys/CryptoKeyAES.cpp
255         crypto/keys/CryptoKeyDataOctetSequence.cpp
256         crypto/keys/CryptoKeyDataRSAComponents.cpp
257         crypto/keys/CryptoKeyEC.cpp
258         crypto/keys/CryptoKeyHMAC.cpp
259         crypto/keys/CryptoKeyRSA.cpp
260         crypto/keys/CryptoKeyRaw.cpp
261         crypto/keys/CryptoKeySerializationRaw.cpp
262     )
263 endif ()
264