1 include(platform/TextureMapper.cmake) 2 3 set(WebCore_LIBRARY_TYPE SHARED) 4 5 list(APPEND WebCore_INCLUDE_DIRECTORIES 6 "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}" 7 "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector" 8 "${JAVASCRIPTCORE_DIR}" 9 "${JAVASCRIPTCORE_DIR}/ForwardingHeaders" 10 "${JAVASCRIPTCORE_DIR}/API" 11 "${JAVASCRIPTCORE_DIR}/assembler" 12 "${JAVASCRIPTCORE_DIR}/bytecode" 13 "${JAVASCRIPTCORE_DIR}/bytecompiler" 14 "${JAVASCRIPTCORE_DIR}/dfg" 15 "${JAVASCRIPTCORE_DIR}/disassembler" 16 "${JAVASCRIPTCORE_DIR}/heap" 17 "${JAVASCRIPTCORE_DIR}/debugger" 18 "${JAVASCRIPTCORE_DIR}/interpreter" 19 "${JAVASCRIPTCORE_DIR}/jit" 20 "${JAVASCRIPTCORE_DIR}/llint" 21 "${JAVASCRIPTCORE_DIR}/parser" 22 "${JAVASCRIPTCORE_DIR}/profiler" 23 "${JAVASCRIPTCORE_DIR}/runtime" 24 "${JAVASCRIPTCORE_DIR}/yarr" 25 "${WEBCORE_DIR}/accessibility" 26 "${WEBCORE_DIR}/platform/java" 27 "${WEBCORE_DIR}/platform/graphics/java" 28 "${WEBCORE_DIR}/platform/graphics/freetype" 29 "${WEBCORE_DIR}/platform/graphics/opengl" 30 "${WEBCORE_DIR}/platform/graphics/opentype" 31 "${WEBCORE_DIR}/platform/linux" 32 "${WEBCORE_DIR}/platform/mediastream/openwebrtc" 33 "${WEBCORE_DIR}/platform/network" 34 "${WEBCORE_DIR}/platform/network/java" 35 "${WEBCORE_DIR}/bindings/java" 36 "${WEBCORE_DIR}/page/java" 37 "${WEBCORE_DIR}/platform/graphics" 38 "${WEBCORE_DIR}/bridge" 39 "${WEBCORE_DIR}/bridge/c" 40 "${WEBCORE_DIR}/bridge/jni" 41 "${WEBCORE_DIR}/bridge/jni/jsc" 42 "${WEBCORE_DIR}/bridge/jsc" 43 "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore" 44 "${CMAKE_BINARY_DIR}/../../gensrc/headers/javafx.web" 45 "${CMAKE_BINARY_DIR}/WebCore/generated" 46 "${WTF_DIR}" 47 "${WEBKIT_DIR}" 48 "${THIRDPARTY_DIR}/sqlite" 49 ) 50 51 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES 52 ${JAVA_INCLUDE_PATH} 53 ${JAVA_INCLUDE_PATH2} 54 ) 55 56 list(APPEND WebCore_SOURCES 57 bridge/jni/JNIUtility.cpp 58 bridge/jni/JobjectWrapper.cpp 59 bridge/jni/jsc/JavaArrayJSC.cpp 60 bridge/jni/jsc/JavaClassJSC.cpp 61 bridge/jni/jsc/JavaFieldJSC.cpp 62 bridge/jni/jsc/JavaInstanceJSC.cpp 63 bridge/jni/jsc/JavaMethodJSC.cpp 64 bridge/jni/jsc/JavaRuntimeObject.cpp 65 bridge/jni/jsc/JNIUtilityPrivate.cpp 66 editing/java/EditorJava.cpp 67 platform/java/BridgeUtils.cpp 68 platform/java/ColorChooserJava.cpp 69 platform/java/ContextMenuClientJava.cpp 70 platform/java/ContextMenuJava.cpp 71 platform/java/CursorJava.cpp 72 platform/java/DragClientJava.cpp 73 platform/java/DragDataJava.cpp 74 platform/java/EditorClientJava.cpp 75 platform/java/EventLoopJava.cpp 76 platform/java/FileChooserJava.cpp 77 platform/java/FileSystemJava.cpp 78 platform/java/FrameLoaderClientJava.cpp 79 platform/java/VisitedLinkStoreJava.cpp 80 platform/java/IDNJava.cpp 81 platform/java/InspectorClientJava.cpp 82 # platform/java/JavaEnv.cpp 83 platform/java/KeyboardEventJava.cpp 84 platform/java/KeyedCodingJava.cpp 85 platform/java/LanguageJava.cpp 86 platform/java/LocalizedStringsJava.cpp 87 platform/java/LoggingJava.cpp 88 platform/java/MIMETypeRegistryJava.cpp 89 platform/java/MouseEventJava.cpp 90 platform/java/PasteboardJava.cpp 91 platform/java/PasteboardUtilitiesJava.cpp 92 platform/java/PlatformScreenJava.cpp 93 platform/java/PlatformStrategiesJava.cpp 94 platform/KillRingNone.cpp 95 platform/java/PluginDataJava.cpp 96 platform/java/PluginInfoStoreJava.cpp 97 platform/java/PluginViewJava.cpp 98 platform/java/PluginWidgetJava.cpp 99 platform/java/PopupMenuJava.cpp 100 platform/java/RenderThemeJava.cpp 101 platform/java/ScrollbarThemeJava.cpp 102 platform/java/SharedBufferJava.cpp 103 platform/java/MainThreadSharedTimerJava.cpp 104 platform/java/SoundJava.cpp 105 platform/java/StringJava.cpp 106 platform/java/TemporaryLinkStubsJava.cpp 107 platform/java/TextBreakIteratorInternalICUJava.cpp #ICU_UNICODE=1 //XXX: make switch for ICU_UNICODE 108 # platform/java/TextBreakIteratorJava.cpp #ICU_UNICODE=0 109 # platform/java/TextCodecJava.cpp #ICU_UNICODE=0 110 # platform/java/TextNormalizerJava.cpp #ICU_UNICODE=0 111 platform/java/TouchEventJava.cpp 112 platform/java/WebPage.cpp 113 platform/java/WheelEventJava.cpp 114 platform/java/WidgetJava.cpp 115 platform/java/api/BackForwardListJava.cpp 116 platform/java/api/PageCacheJava.cpp 117 platform/graphics/java/BitmapImageJava.cpp 118 platform/graphics/java/BufferImageJava.cpp 119 # platform/graphics/java/BufferImageSkiaJava.cpp 120 platform/graphics/java/ChromiumBridge.cpp 121 platform/graphics/java/FontCacheJava.cpp 122 platform/graphics/java/FontCustomPlatformData.cpp 123 platform/graphics/java/FontDataJava.cpp 124 platform/graphics/java/FontJava.cpp 125 platform/graphics/java/FontPlatformDataJava.cpp 126 platform/graphics/java/GlyphPageTreeNodeJava.cpp 127 platform/graphics/java/GraphicsContextJava.cpp 128 platform/graphics/java/IconJava.cpp 129 platform/graphics/java/ImageBufferJava.cpp 130 platform/graphics/java/ImageJava.cpp 131 platform/graphics/java/ImageSourceJava.cpp #//XXX: contains(DEFINES, IMAGEIO=1) { 132 platform/graphics/java/MediaPlayerPrivateJava.cpp 133 html/shadow/MediaControlsApple.cpp 134 platform/graphics/java/PathJava.cpp 135 # platform/graphics/java/PlatformContextSkiaJava.cpp 136 platform/graphics/java/RenderingQueue.cpp 137 platform/graphics/java/RQRef.cpp 138 139 platform/network/java/SocketStreamHandleJava.cpp 140 platform/network/java/SynchronousLoaderClientJava.cpp 141 platform/network/java/URLLoader.cpp 142 platform/network/NetworkStorageSessionStub.cpp 143 144 # FIXME-java: 145 # platform/text/LocaleICU.cpp 146 platform/text/LocaleNone.cpp 147 platform/text/Hyphenation.cpp 148 149 platform/network/java/CookieJarJava.cpp 150 platform/network/java/DNSJava.cpp 151 platform/network/java/ResourceHandleJava.cpp 152 platform/network/java/ResourceRequestJava.cpp 153 154 bindings/java/JavaDOMUtils.cpp 155 bindings/java/JavaEventListener.cpp 156 157 page/java/ChromeClientJava.cpp 158 page/java/DragControllerJava.cpp 159 page/java/EventHandlerJava.cpp 160 161 # FIXME-java: Move WebKit interface specific files into WebKit dir 162 ../WebKit/Storage/StorageAreaImpl.cpp 163 ../WebKit/Storage/StorageAreaSync.cpp 164 ../WebKit/Storage/StorageNamespaceImpl.cpp 165 ../WebKit/Storage/StorageSyncManager.cpp 166 ../WebKit/Storage/StorageThread.cpp 167 ../WebKit/Storage/StorageTracker.cpp 168 ../WebKit/Storage/WebDatabaseProvider.cpp 169 ../WebKit/Storage/WebStorageNamespaceProvider.cpp 170 ../WebKit/WebCoreSupport/WebResourceLoadScheduler.cpp 171 ) 172 173 if (WIN32) 174 list(APPEND WebCore_SOURCES 175 platform/win/SystemInfo.cpp 176 ) 177 list(APPEND WebCore_INCLUDE_DIRECTORIES 178 ${THIRDPARTY_DIR}/libxml/win32/include 179 ${THIRDPARTY_DIR}/libxml/src/include 180 ${THIRDPARTY_DIR}/libxslt 181 ) 182 list(APPEND WebCore_LIBRARIES 183 XMLJava 184 XSLTJava 185 ) 186 elseif(APPLE) 187 list(APPEND WebCore_INCLUDE_DIRECTORIES 188 ${WEBCORE_DIR}/icu 189 ${WEBCORE_DIR}/platform/mac 190 ) 191 list(APPEND WebCore_SOURCES 192 editing/SmartReplaceCF.cpp 193 # platform/cf/FileSystemCF.cpp 194 platform/VNodeTracker.cpp 195 platform/cf/SharedBufferCF.cpp 196 platform/cf/URLCF.cpp 197 platform/cf/CFURLExtras.cpp 198 ) 199 find_library(ACCELERATE_LIBRARY accelerate) 200 list(APPEND WebCore_LIBRARIES 201 ${ACCELERATE_LIBRARY} 202 ) 203 elseif(UNIX) 204 list(APPEND WebCore_SOURCES 205 platform/linux/MemoryPressureHandlerLinux.cpp 206 ) 207 endif() 208 209 # System libraries are used on non windows platform 210 if (NOT WIN32) 211 list(APPEND WebCore_LIBRARIES 212 ${LIBXML2_LIBRARIES} 213 ${LIBXSLT_LIBRARIES} 214 ) 215 216 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES 217 ${LIBXML2_INCLUDE_DIR} 218 ${LIBXSLT_INCLUDE_DIR} 219 ) 220 endif () 221 222 list(APPEND WebCore_USER_AGENT_STYLE_SHEETS 223 ${WEBCORE_DIR}/css/mediaControlsGtk.css 224 ) 225 226 set(WebCore_USER_AGENT_SCRIPTS 227 ${WEBCORE_DIR}/English.lproj/mediaControlsLocalizedStrings.js 228 ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsBase.js 229 ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsGtk.js 230 ) 231 232 add_custom_command( 233 OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitVersion.h 234 MAIN_DEPENDENCY ${WEBKIT_DIR}/scripts/generate-webkitversion.pl 235 DEPENDS ${WEBKIT_DIR}/mac/Configurations/Version.xcconfig 236 COMMAND ${PERL_EXECUTABLE} ${WEBKIT_DIR}/scripts/generate-webkitversion.pl --config ${WEBKIT_DIR}/mac/Configurations/Version.xcconfig --outputDir ${DERIVED_SOURCES_WEBCORE_DIR} 237 VERBATIM) 238 list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitVersion.h) 239 240 set(WebCore_FORWARDING_HEADERS_FILES 241 loader/appcache/ApplicationCacheStorage.h 242 ) 243 244 set(WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES ${WEBCORE_DIR}/platform/java/RenderThemeJava.cpp) 245 246 list(APPEND WebCore_LIBRARIES 247 SqliteJava 248 ) 249 250 include_directories( 251 "${WebCore_INCLUDE_DIRECTORIES}" 252 "${DERIVED_SOURCES_DIR}" 253 ) 254 255 include_directories(SYSTEM 256 ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} 257 ) 258 259 add_definitions(-DIMAGEIO=1) 260 261 list(APPEND WebCore_LIBRARIES 262 ${JAVA_JVM_LIBRARY} 263 ) 264 265 add_definitions(-DSTATICALLY_LINKED_WITH_JavaScriptCore) 266 add_definitions(-DSTATICALLY_LINKED_WITH_WTF) 267 268 list(APPEND WebCore_Java_IDL_FILES 269 css/Counter.idl 270 css/CSSCharsetRule.idl 271 css/CSSFontFaceRule.idl 272 css/CSSImportRule.idl 273 css/CSSMediaRule.idl 274 css/CSSPageRule.idl 275 css/CSSPrimitiveValue.idl 276 css/CSSRule.idl 277 css/CSSRuleList.idl 278 css/CSSStyleDeclaration.idl 279 css/CSSStyleRule.idl 280 css/CSSStyleSheet.idl 281 css/CSSUnknownRule.idl 282 css/CSSValue.idl 283 css/CSSValueList.idl 284 css/MediaList.idl 285 css/Rect.idl 286 css/RGBColor.idl 287 css/StyleSheet.idl 288 css/StyleSheetList.idl 289 dom/Attr.idl 290 dom/CDATASection.idl 291 dom/CharacterData.idl 292 dom/Comment.idl 293 dom/DocumentFragment.idl 294 dom/Document.idl 295 dom/DocumentType.idl 296 dom/DOMImplementation.idl 297 dom/DOMStringList.idl 298 dom/Element.idl 299 dom/Entity.idl 300 dom/EntityReference.idl 301 dom/Event.idl 302 dom/EventTarget.idl 303 dom/KeyboardEvent.idl 304 dom/MouseEvent.idl 305 dom/MutationEvent.idl 306 dom/NamedNodeMap.idl 307 dom/Node.idl 308 dom/NodeFilter.idl 309 dom/NodeIterator.idl 310 dom/NodeList.idl 311 # dom/Notation.idl 312 dom/ProcessingInstruction.idl 313 dom/Range.idl 314 dom/Text.idl 315 dom/TreeWalker.idl 316 dom/UIEvent.idl 317 dom/WheelEvent.idl 318 html/HTMLAnchorElement.idl 319 html/HTMLAppletElement.idl 320 html/HTMLAreaElement.idl 321 html/HTMLBaseElement.idl 322 html/HTMLBaseFontElement.idl 323 html/HTMLBodyElement.idl 324 html/HTMLBRElement.idl 325 html/HTMLButtonElement.idl 326 html/HTMLCollection.idl 327 html/HTMLDirectoryElement.idl 328 html/HTMLDivElement.idl 329 html/HTMLDListElement.idl 330 html/HTMLDocument.idl 331 html/HTMLElement.idl 332 html/HTMLFieldSetElement.idl 333 html/HTMLFontElement.idl 334 html/HTMLFormElement.idl 335 html/HTMLFrameElement.idl 336 html/HTMLFrameSetElement.idl 337 html/HTMLHeadElement.idl 338 html/HTMLHeadingElement.idl 339 html/HTMLHRElement.idl 340 html/HTMLHtmlElement.idl 341 html/HTMLIFrameElement.idl 342 html/HTMLImageElement.idl 343 html/HTMLInputElement.idl 344 html/HTMLLabelElement.idl 345 html/HTMLLegendElement.idl 346 html/HTMLLIElement.idl 347 html/HTMLLinkElement.idl 348 html/HTMLMapElement.idl 349 html/HTMLMenuElement.idl 350 html/HTMLMetaElement.idl 351 html/HTMLModElement.idl 352 html/HTMLObjectElement.idl 353 html/HTMLOListElement.idl 354 html/HTMLOptGroupElement.idl 355 html/HTMLOptionElement.idl 356 html/HTMLOptionsCollection.idl 357 html/HTMLParagraphElement.idl 358 html/HTMLParamElement.idl 359 html/HTMLPreElement.idl 360 html/HTMLQuoteElement.idl 361 html/HTMLScriptElement.idl 362 html/HTMLSelectElement.idl 363 html/HTMLStyleElement.idl 364 html/HTMLTableCaptionElement.idl 365 html/HTMLTableCellElement.idl 366 html/HTMLTableColElement.idl 367 html/HTMLTableElement.idl 368 html/HTMLTableRowElement.idl 369 html/HTMLTableSectionElement.idl 370 html/HTMLTextAreaElement.idl 371 html/HTMLTitleElement.idl 372 html/HTMLUListElement.idl 373 page/DOMWindow.idl 374 page/DOMSelection.idl 375 xml/XPathExpression.idl 376 xml/XPathNSResolver.idl 377 xml/XPathResult.idl 378 ) 379 380 set(FEATURE_DEFINES_JAVA "LANGUAGE_JAVA=1 ${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}") 381 string(REPLACE "ENABLE_INDEXED_DATABASE=1" "" FEATURE_DEFINES_JAVA ${FEATURE_DEFINES_JAVA}) 382 string(REPLACE REGEX "ENABLE_SVG[A-Z_]+=1" "" FEATURE_DEFINES_JAVA ${FEATURE_DEFINES_JAVA}) 383 384 set(ADDITIONAL_BINDINGS_DEPENDENCIES 385 ${WINDOW_CONSTRUCTORS_FILE} 386 ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE} 387 ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE} 388 ) 389 390 foreach (_idl ${WebCore_Java_IDL_FILES}) 391 set(IDL_FILES_LIST "${IDL_FILES_LIST}${WEBCORE_DIR}/${_idl}\n") 392 endforeach () 393 394 395 GENERATE_BINDINGS(JavaDOMBindings_SOURCES 396 "${WebCore_Java_IDL_FILES}" 397 "${WEBCORE_DIR}" 398 "${IDL_INCLUDES}" 399 "${FEATURE_DEFINES_JAVA}" 400 ${DERIVED_SOURCES_WEBCORE_DIR}/nativeJava 401 Java Java cpp 402 ${IDL_ATTRIBUTES_FILE} 403 ${SUPPLEMENTAL_DEPENDENCY_FILE} 404 ${ADDITIONAL_BINDINGS_DEPENDENCIES}) 405 406 list(APPEND WebCore_SOURCES ${JavaDOMBindings_SOURCES}) 407 408 set (WebCore_FORWARDING_HEADERS_DIRECTORIES 409 . 410 accessibility 411 bindings 412 bridge 413 contentextensions 414 css 415 dom 416 editing 417 history 418 html 419 inspector 420 loader 421 page 422 platform 423 plugins 424 rendering 425 storage 426 style 427 svg 428 websockets 429 workers 430 xml 431 432 Modules/geolocation 433 Modules/indexeddb 434 Modules/indexeddb/legacy 435 Modules/indexeddb/shared 436 Modules/notifications 437 Modules/webdatabase 438 439 accessibility/java 440 441 bindings/generic 442 bindings/js 443 444 bridge/c 445 bridge/jsc 446 447 html/forms 448 html/parser 449 html/shadow 450 html/track 451 452 loader/appcache 453 loader/archive 454 loader/cache 455 loader/icon 456 457 page/animation 458 page/csp 459 page/scrolling 460 page/java 461 462 platform/animation 463 platform/audio 464 platform/graphics 465 platform/network 466 platform/network/java 467 platform/sql 468 platform/text 469 platform/java 470 471 platform/text/transcoder 472 473 rendering/line 474 rendering/shapes 475 rendering/style 476 rendering/svg 477 478 svg/animation 479 svg/graphics 480 svg/properties 481 482 svg/graphics/filters) 483 484 WEBKIT_CREATE_FORWARDING_HEADERS(WebCore DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES}) 485 486 if (WIN32) 487 file(MAKE_DIRECTORY ${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore) 488 489 set(WebCore_PRE_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WebCore/preBuild.cmd") 490 file(WRITE "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /s /d /f \"${WEBCORE_DIR}/ForwardingHeaders/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n") 491 foreach (_directory ${WebCore_FORWARDING_HEADERS_DIRECTORIES}) 492 file(APPEND "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /d /f \"${WEBCORE_DIR}/${_directory}/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n") 493 endforeach () 494 495 set(WebCore_POST_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WebCore/postBuild.cmd") 496 file(WRITE "${WebCore_POST_BUILD_COMMAND}" "@xcopy /y /s /d /f \"${DERIVED_SOURCES_WEBCORE_DIR}/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n") 497 endif ()