diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2016-08-25 19:20:41 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2017-02-02 12:30:55 +0000 |
commit | 6882a04fb36642862b11efe514251d32070c3d65 (patch) | |
tree | b7959826000b061fd5ccc7512035c7478742f7b0 /Source/WebCore/PlatformQt.cmake | |
parent | ab6df191029eeeb0b0f16f127d553265659f739e (diff) | |
download | qtwebkit-6882a04fb36642862b11efe514251d32070c3d65.tar.gz |
Imported QtWebKit TP3 (git b57bc6801f1876c3220d5a4bfea33d620d477443)
Change-Id: I3b1d8a2808782c9f34d50240000e20cb38d3680f
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/WebCore/PlatformQt.cmake')
-rw-r--r-- | Source/WebCore/PlatformQt.cmake | 420 |
1 files changed, 420 insertions, 0 deletions
diff --git a/Source/WebCore/PlatformQt.cmake b/Source/WebCore/PlatformQt.cmake new file mode 100644 index 000000000..2e013d601 --- /dev/null +++ b/Source/WebCore/PlatformQt.cmake @@ -0,0 +1,420 @@ +include(platform/ImageDecoders.cmake) +include(platform/Linux.cmake) +include(platform/TextureMapper.cmake) + +list(APPEND WebCore_INCLUDE_DIRECTORIES + "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}" + "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector" + "${JAVASCRIPTCORE_DIR}" + "${JAVASCRIPTCORE_DIR}/ForwardingHeaders" + "${JAVASCRIPTCORE_DIR}/API" + "${JAVASCRIPTCORE_DIR}/assembler" + "${JAVASCRIPTCORE_DIR}/bytecode" + "${JAVASCRIPTCORE_DIR}/bytecompiler" + "${JAVASCRIPTCORE_DIR}/dfg" + "${JAVASCRIPTCORE_DIR}/disassembler" + "${JAVASCRIPTCORE_DIR}/heap" + "${JAVASCRIPTCORE_DIR}/debugger" + "${JAVASCRIPTCORE_DIR}/interpreter" + "${JAVASCRIPTCORE_DIR}/jit" + "${JAVASCRIPTCORE_DIR}/llint" + "${JAVASCRIPTCORE_DIR}/parser" + "${JAVASCRIPTCORE_DIR}/profiler" + "${JAVASCRIPTCORE_DIR}/runtime" + "${JAVASCRIPTCORE_DIR}/yarr" + "${THIRDPARTY_DIR}/ANGLE/" + "${THIRDPARTY_DIR}/ANGLE/include/KHR" + "${WEBCORE_DIR}/Modules/gamepad" + "${WEBCORE_DIR}/bridge/qt" + "${WEBCORE_DIR}/history/qt" + "${WEBCORE_DIR}/platform/qt" + "${WEBCORE_DIR}/platform/audio/qt" + "${WEBCORE_DIR}/platform/graphics/egl" + "${WEBCORE_DIR}/platform/graphics/glx" + "${WEBCORE_DIR}/platform/graphics/gpu/qt" + "${WEBCORE_DIR}/platform/graphics/opengl" + "${WEBCORE_DIR}/platform/graphics/surfaces" + "${WEBCORE_DIR}/platform/graphics/surfaces/qt" + "${WEBCORE_DIR}/platform/graphics/qt" + "${WEBCORE_DIR}/platform/network/qt" + "${WEBCORE_DIR}/platform/text/qt" + "${WTF_DIR}" +) + +list(APPEND WebCore_SOURCES + accessibility/qt/AccessibilityObjectQt.cpp + + bindings/js/ScriptControllerQt.cpp + + bridge/qt/qt_class.cpp + bridge/qt/qt_instance.cpp + bridge/qt/qt_pixmapruntime.cpp + bridge/qt/qt_runtime.cpp + + editing/qt/EditorQt.cpp + + page/qt/DragControllerQt.cpp + page/qt/EventHandlerQt.cpp + + platform/KillRingNone.cpp + + platform/audio/qt/AudioBusQt.cpp + + platform/graphics/ImageSource.cpp + platform/graphics/WOFFFileFormat.cpp + + platform/graphics/gpu/qt/DrawingBufferQt.cpp + + platform/graphics/qt/ColorQt.cpp + platform/graphics/qt/FloatPointQt.cpp + platform/graphics/qt/FloatRectQt.cpp + platform/graphics/qt/FloatSizeQt.cpp + platform/graphics/qt/FontCacheQt.cpp + platform/graphics/qt/FontCascadeQt.cpp + platform/graphics/qt/FontCustomPlatformDataQt.cpp + platform/graphics/qt/FontPlatformDataQt.cpp + platform/graphics/qt/FontQt.cpp + platform/graphics/qt/GlyphPageTreeNodeQt.cpp + platform/graphics/qt/GradientQt.cpp + platform/graphics/qt/GraphicsContextQt.cpp + platform/graphics/qt/IconQt.cpp + platform/graphics/qt/ImageBufferQt.cpp + platform/graphics/qt/ImageDecoderQt.cpp + platform/graphics/qt/ImageQt.cpp + platform/graphics/qt/IntPointQt.cpp + platform/graphics/qt/IntRectQt.cpp + platform/graphics/qt/IntSizeQt.cpp + platform/graphics/qt/PathQt.cpp + platform/graphics/qt/PatternQt.cpp + platform/graphics/qt/StillImageQt.cpp + platform/graphics/qt/TileQt.cpp + platform/graphics/qt/TransformationMatrixQt.cpp + + platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp + + platform/network/NetworkStorageSessionStub.cpp + platform/network/MIMESniffing.cpp + + platform/network/qt/CookieJarQt.cpp + platform/network/qt/CredentialStorageQt.cpp + platform/network/qt/DNSQt.cpp + platform/network/qt/NetworkStateNotifierQt.cpp + platform/network/qt/ProxyServerQt.cpp + platform/network/qt/QNetworkReplyHandler.cpp + platform/network/qt/QtMIMETypeSniffer.cpp + platform/network/qt/ResourceHandleQt.cpp + platform/network/qt/ResourceRequestQt.cpp + platform/network/qt/ResourceResponseQt.cpp + platform/network/qt/SocketStreamHandleQt.cpp + platform/network/qt/SynchronousLoaderClientQt.cpp + + platform/qt/CursorQt.cpp + platform/qt/DataTransferItemListQt.cpp + platform/qt/DataTransferItemQt.cpp + platform/qt/DragDataQt.cpp + platform/qt/DragImageQt.cpp + platform/qt/EventLoopQt.cpp + platform/qt/FileSystemQt.cpp + platform/qt/KeyedDecoderQt.cpp + platform/qt/KeyedEncoderQt.cpp + platform/qt/LanguageQt.cpp + platform/qt/LocalizedStringsQt.cpp + platform/qt/LoggingQt.cpp + platform/qt/MainThreadSharedTimerQt.cpp + platform/qt/MIMETypeRegistryQt.cpp + platform/qt/PasteboardQt.cpp + platform/qt/PlatformKeyboardEventQt.cpp + platform/qt/PlatformScreenQt.cpp + platform/qt/RenderThemeQStyle.cpp + platform/qt/RenderThemeQt.cpp + platform/qt/RenderThemeQtMobile.cpp + platform/qt/ScrollViewQt.cpp + platform/qt/ScrollbarThemeQStyle.cpp + platform/qt/ScrollbarThemeQt.cpp + platform/qt/SharedBufferQt.cpp + platform/qt/SoundQt.cpp + platform/qt/TemporaryLinkStubsQt.cpp + platform/qt/ThirdPartyCookiesQt.cpp + platform/qt/URLQt.cpp + platform/qt/UserAgentQt.cpp + platform/qt/WidgetQt.cpp + + platform/text/Hyphenation.cpp + platform/text/LocaleICU.cpp + + platform/text/hyphen/HyphenationLibHyphen.cpp + + platform/text/qt/TextBreakIteratorInternalICUQt.cpp +) + +if (SQLITE_SOURCE_FILE) + list(APPEND WebCore_SOURCES + "${SQLITE_SOURCE_FILE}" + ) + add_definitions(-DSQLITE_CORE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_COMPLETE) +endif () + +if (ENABLE_DEVICE_ORIENTATION) + list(APPEND WebCore_SOURCES + platform/qt/DeviceMotionClientQt.cpp + platform/qt/DeviceMotionProviderQt.cpp + platform/qt/DeviceOrientationClientQt.cpp + platform/qt/DeviceOrientationProviderQt.cpp + ) +endif () + +if (ENABLE_GAMEPAD_DEPRECATED) + list(APPEND WebCore_SOURCES + platform/qt/GamepadsQt.cpp + ) +endif () + +if (ENABLE_GRAPHICS_CONTEXT_3D) + list(APPEND WebCore_SOURCES + platform/graphics/qt/GraphicsContext3DQt.cpp + ) +endif () + +if (ENABLE_NETSCAPE_PLUGIN_API AND WIN32) + set(WebCore_FORWARDING_HEADERS_FILES + platform/graphics/win/LocalWindowsContext.h + platform/win/BitmapInfo.h + platform/win/WebCoreInstanceHandle.h + ) + list(APPEND WebCore_SOURCES + platform/graphics/win/TransformationMatrixWin.cpp + platform/win/BitmapInfo.cpp + platform/win/WebCoreInstanceHandle.cpp + ) + list(APPEND WebCore_LIBRARIES + Shlwapi + version + ) +endif () + +# Do it in the WebCore to support SHARED_CORE since WebKitWidgets won't load WebKit in that case. +# This should match the opposite statement in WebKit/PlatformQt.cmake +if (SHARED_CORE) + qt5_add_resources(WebCore_SOURCES + WebCore.qrc + ) + + if (ENABLE_INSPECTOR_UI) + include("${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/PlatformQt.cmake") + list(APPEND WebCore_SOURCES + "${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/qrc_WebInspector.cpp" + ) + endif () +endif () + +# Note: Qt5Network_INCLUDE_DIRS includes Qt5Core_INCLUDE_DIRS +list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES + ${HYPHEN_INCLUDE_DIR} + ${LIBXML2_INCLUDE_DIR} + ${LIBXSLT_INCLUDE_DIR} + ${Qt5Gui_INCLUDE_DIRS} + ${Qt5Gui_PRIVATE_INCLUDE_DIRS} + ${Qt5Network_INCLUDE_DIRS} + ${Qt5Sensors_INCLUDE_DIRS} + ${Qt5Sql_INCLUDE_DIRS} + ${SQLITE_INCLUDE_DIR} + ${ZLIB_INCLUDE_DIRS} +) + +list(APPEND WebCore_LIBRARIES + ${HYPHEN_LIBRARIES} + ${LIBXML2_LIBRARIES} + ${LIBXSLT_LIBRARIES} + ${Qt5Core_LIBRARIES} + ${Qt5Gui_LIBRARIES} + ${Qt5Network_LIBRARIES} + ${Qt5Sensors_LIBRARIES} + ${Qt5Sql_LIBRARIES} + ${SQLITE_LIBRARIES} + ${ZLIB_LIBRARIES} +) + +list(APPEND WebCore_USER_AGENT_STYLE_SHEETS +# ${WEBCORE_DIR}/css/mediaControlsGtk.css +# ${WEBCORE_DIR}/css/mediaControlsQt.css +# ${WEBCORE_DIR}/css/mediaControlsQtFullscreen.css + ${WEBCORE_DIR}/css/mobileThemeQt.css + ${WEBCORE_DIR}/css/themeQtNoListboxes.css +) + +if (ENABLE_OPENGL) + list(APPEND WebCore_SOURCES + platform/graphics/OpenGLShims.cpp + + platform/graphics/opengl/Extensions3DOpenGLCommon.cpp + platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp + platform/graphics/opengl/TemporaryOpenGLSetting.cpp + ) + + if (${Qt5Gui_OPENGL_IMPLEMENTATION} STREQUAL GLESv2) + list(APPEND WebCore_SOURCES + platform/graphics/opengl/Extensions3DOpenGLES.cpp + platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp + ) + elseif (${Qt5Gui_OPENGL_IMPLEMENTATION} STREQUAL GL) + list(APPEND WebCore_SOURCES + platform/graphics/opengl/Extensions3DOpenGL.cpp + platform/graphics/opengl/GraphicsContext3DOpenGL.cpp + ) + else () + message(FATAL_ERROR "Unsupported Qt OpenGL implementation ${Qt5Gui_OPENGL_IMPLEMENTATION}") + endif () + + list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES + ${Qt5Gui_EGL_INCLUDE_DIRS} + ${Qt5Gui_OPENGL_INCLUDE_DIRS} + ) + list(APPEND WebCore_LIBRARIES + ${Qt5Gui_EGL_LIBRARIES} + ${Qt5Gui_OPENGL_LIBRARIES} + ) +endif () + +if (USE_GLIB) + list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES + ${GIO_UNIX_INCLUDE_DIRS} + ${GLIB_INCLUDE_DIRS} + ) + list(APPEND WebCore_LIBRARIES + ${GLIB_GIO_LIBRARIES} + ${GLIB_GOBJECT_LIBRARIES} + ${GLIB_LIBRARIES} + ) +endif () + +if (USE_GSTREAMER) + include(platform/GStreamer.cmake) + list(APPEND WebCore_SOURCES + platform/graphics/gstreamer/ImageGStreamerQt.cpp + ) +endif () + +if (USE_QT_MULTIMEDIA) + list(APPEND WebCore_SOURCES + platform/graphics/qt/MediaPlayerPrivateQt.cpp + ) + list(APPEND WebCore_LIBRARIES + ${Qt5Multimedia_LIBRARIES} + ) +endif () + +if (ENABLE_VIDEO) + list(APPEND WebCore_USER_AGENT_STYLE_SHEETS + ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsBase.css + ) + set(WebCore_USER_AGENT_SCRIPTS + ${WEBCORE_DIR}/English.lproj/mediaControlsLocalizedStrings.js + ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsBase.js + ) + set(WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES ${WEBCORE_DIR}/platform/qt/RenderThemeQt.cpp) +endif () + +# Build the include path with duplicates removed +list(REMOVE_DUPLICATES WebCore_SYSTEM_INCLUDE_DIRECTORIES) + +# TODO: Think how to unify fwd headers handling throughout WebKit +set(WebCore_FORWARDING_HEADERS_DIRECTORIES + bridge + dom + html + loader + page + platform + rendering + storage + + Modules/indexeddb/legacy + Modules/indexeddb/shared + + bindings/js + + bridge/c + bridge/jsc + + platform/graphics + platform/network + platform/sql + platform/text + + platform/network/qt +) + +WEBKIT_CREATE_FORWARDING_HEADERS(WebCore DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES} FILES ${WebCore_FORWARDING_HEADERS_FILES}) + +list(APPEND WebCoreTestSupport_LIBRARIES + WebCore +) + +if (HAVE_FONTCONFIG) + list(APPEND WebCoreTestSupport_LIBRARIES + ${FONTCONFIG_LIBRARIES} + ) +endif () + +# From PlatformWin.cmake +if (WIN32) + + if (${JavaScriptCore_LIBRARY_TYPE} MATCHES STATIC) + add_definitions(-DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_JavaScriptCore) + endif () + + list(APPEND WebCore_INCLUDE_DIRECTORIES + "${CMAKE_BINARY_DIR}/../include/private" + "${CMAKE_BINARY_DIR}/../include/private/JavaScriptCore" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/ANGLE" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/ANGLE/include/KHR" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/ForwardingHeaders" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/API" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/assembler" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/builtins" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/bytecode" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/bytecompiler" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/dfg" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/disassembler" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/heap" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/debugger" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/interpreter" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/jit" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/llint" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/parser" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/profiler" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/runtime" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/yarr" + "${DERIVED_SOURCES_DIR}/ForwardingHeaders/WTF" + "${WEBCORE_DIR}/ForwardingHeaders" + "${WEBCORE_DIR}/platform/win" + ) + + list(APPEND WebCore_SOURCES + platform/win/SystemInfo.cpp + ) + + file(MAKE_DIRECTORY ${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore) + + set(WebCore_PRE_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WebCore/preBuild.cmd") + file(WRITE "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /s /d /f \"${WEBCORE_DIR}/ForwardingHeaders/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n") + foreach (_directory ${WebCore_FORWARDING_HEADERS_DIRECTORIES}) + file(APPEND "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /d /f \"${WEBCORE_DIR}/${_directory}/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n") + endforeach () + foreach (_file ${WebCore_FORWARDING_HEADERS_FILES}) + file(APPEND "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /d /f \"${WEBCORE_DIR}/${_file}\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n") + endforeach () + + set(WebCore_POST_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WebCore/postBuild.cmd") + 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") +endif () + +# From PlatformEfl.cmake +add_custom_command( + OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitVersion.h + MAIN_DEPENDENCY ${WEBKIT_DIR}/scripts/generate-webkitversion.pl + DEPENDS ${WEBKIT_DIR}/mac/Configurations/Version.xcconfig + COMMAND ${PERL_EXECUTABLE} ${WEBKIT_DIR}/scripts/generate-webkitversion.pl --config ${WEBKIT_DIR}/mac/Configurations/Version.xcconfig --outputDir ${DERIVED_SOURCES_WEBCORE_DIR} + VERBATIM) +list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitVersion.h) |