Enable WebGL on Windows CMake build.
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Aug 2015 17:48:59 +0000 (17:48 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Aug 2015 17:48:59 +0000 (17:48 +0000)
https://bugs.webkit.org/show_bug.cgi?id=143311

Reviewed by Csaba Osztrogonác.

.:

* Source/cmake/OptionsWindows.cmake:
Enable WebGL by default in CMake builds now that it works.

Source/ThirdParty/ANGLE:

* CMakeLists.txt: Added.

Source/WebCore:

* CMakeLists.txt:
ANGLE is built quite differently on Windows, so I'm not going to touch the existing CMake build system for
ANGLE on Linux, although I think it should eventually be unified more by using ANGLE's OpenGL renderer.
* PlatformWin.cmake:
Added some needed source files and include directories.

Source/WebKit:

* PlatformWin.cmake:
Added some needed source files and include directories.

Source/WTF:

* wtf/FeatureDefines.h:
Made the CMake feature defines the same as the non-CMake feature defines.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187866 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 files changed:
ChangeLog
Source/CMakeLists.txt
Source/ThirdParty/ANGLE/CMakeLists.txt [new file with mode: 0644]
Source/ThirdParty/ANGLE/ChangeLog
Source/WTF/ChangeLog
Source/WTF/wtf/FeatureDefines.h
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/PlatformWin.cmake
Source/WebKit/ChangeLog
Source/WebKit/PlatformWin.cmake
Source/cmake/OptionsWindows.cmake

index 0b6f25f..78078ab 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2015-08-04  Alex Christensen  <achristensen@webkit.org>
+
+        Enable WebGL on Windows CMake build.
+        https://bugs.webkit.org/show_bug.cgi?id=143311
+
+        Reviewed by Csaba Osztrogonác.
+
+        * Source/cmake/OptionsWindows.cmake:
+        Enable WebGL by default in CMake builds now that it works.
+
 2015-08-04  Mario Sanchez Prada  <mario@endlessm.com>
 
         [GTK] Accelerated 2D Canvas enabled when cairo-gl is not available
index eeaa32d..ada45a3 100644 (file)
@@ -12,6 +12,10 @@ add_subdirectory(JavaScriptCore)
 
 add_subdirectory(WebCore)
 
+if (WIN32 AND ENABLE_GRAPHICS_CONTEXT_3D)
+    add_subdirectory(ThirdParty/ANGLE)
+endif ()
+
 if (ENABLE_API_TESTS)
     add_subdirectory(ThirdParty/gtest)
 endif ()
diff --git a/Source/ThirdParty/ANGLE/CMakeLists.txt b/Source/ThirdParty/ANGLE/CMakeLists.txt
new file mode 100644 (file)
index 0000000..a21038f
--- /dev/null
@@ -0,0 +1,268 @@
+include_directories(
+    src
+    include
+    include/KHR
+)
+
+if (${CMAKE_GENERATOR} MATCHES "Ninja")
+    if (${MSVC_CXX_ARCHITECTURE_ID} STREQUAL "X86")
+        link_directories(${WINDOWSSDKDIR}Lib/${WINDOWSSDKLIBVERSION}/um/x86)
+    else ()
+        link_directories(${WINDOWSSDKDIR}Lib/${WINDOWSSDKLIBVERSION}/um/x64)
+    endif ()
+else ()
+    if (${MSVC_CXX_ARCHITECTURE_ID} STREQUAL "X86")
+        link_directories($(WINDOWSSDKDIR)Lib/$(WINDOWSSDKLIBVERSION)/um/x86)
+    else ()
+        link_directories($(WINDOWSSDKDIR)Lib/$(WINDOWSSDKLIBVERSION)/um/x64)
+    endif ()
+endif ()
+
+add_library(libEGL SHARED
+    src/libEGL/libEGL.cpp
+)
+
+add_library(libGLESv2 SHARED
+    src/libGLESv2/entry_points_egl.cpp
+    src/libGLESv2/entry_points_egl_ext.cpp
+    src/libGLESv2/entry_points_gles_2_0.cpp
+    src/libGLESv2/entry_points_gles_2_0_ext.cpp
+    src/libGLESv2/entry_points_gles_3_0.cpp
+    src/libGLESv2/entry_points_gles_3_0_ext.cpp
+    src/libGLESv2/global_state.cpp
+    src/libGLESv2/libGLESv2.cpp
+)
+
+add_library(libANGLE STATIC
+    src/common/angleutils.cpp
+    src/common/debug.cpp
+    src/common/event_tracer.cpp
+    src/common/mathutil.cpp
+    src/common/MemoryBuffer.cpp
+    src/common/tls.cpp
+    src/common/utilities.cpp
+    src/compiler/preprocessor/DiagnosticsBase.cpp
+    src/compiler/preprocessor/DirectiveHandlerBase.cpp
+    src/compiler/preprocessor/DirectiveParser.cpp
+    src/compiler/preprocessor/ExpressionParser.cpp
+    src/compiler/preprocessor/Input.cpp
+    src/compiler/preprocessor/Lexer.cpp
+    src/compiler/preprocessor/Macro.cpp
+    src/compiler/preprocessor/MacroExpander.cpp
+    src/compiler/preprocessor/Preprocessor.cpp
+    src/compiler/preprocessor/Token.cpp
+    src/compiler/preprocessor/Tokenizer.cpp
+    src/compiler/translator/BuiltInFunctionEmulatorGLSL.cpp
+    src/compiler/translator/OutputESSL.cpp
+    src/compiler/translator/OutputGLSL.cpp
+    src/compiler/translator/OutputGLSLBase.cpp
+    src/compiler/translator/SearchSymbol.cpp
+    src/compiler/translator/TranslatorESSL.cpp
+    src/compiler/translator/TranslatorGLSL.cpp
+    src/compiler/translator/UnfoldShortCircuit.cpp
+    src/compiler/translator/VersionGLSL.cpp
+    src/compiler/translator/ASTMetadataHLSL.cpp
+    src/compiler/translator/blocklayoutHLSL.cpp
+    src/compiler/translator/BuiltInFunctionEmulatorHLSL.cpp
+    src/compiler/translator/OutputHLSL.cpp
+    src/compiler/translator/SearchSymbol.cpp
+    src/compiler/translator/StructureHLSL.cpp
+    src/compiler/translator/TranslatorHLSL.cpp
+    src/compiler/translator/UnfoldShortCircuit.cpp
+    src/compiler/translator/UniformHLSL.cpp
+    src/compiler/translator/UtilsHLSL.cpp
+    src/compiler/translator/ArrayReturnValueToOutParameter.cpp
+    src/compiler/translator/blocklayout.cpp
+    src/compiler/translator/BuiltInFunctionEmulator.cpp
+    src/compiler/translator/CallDAG.cpp
+    src/compiler/translator/CodeGen.cpp
+    src/compiler/translator/Compiler.cpp
+    src/compiler/translator/Diagnostics.cpp
+    src/compiler/translator/DirectiveHandler.cpp
+    src/compiler/translator/EmulatePrecision.cpp
+    src/compiler/translator/FlagStd140Structs.cpp
+    src/compiler/translator/ForLoopUnroll.cpp
+    src/compiler/translator/InfoSink.cpp
+    src/compiler/translator/Initialize.cpp
+    src/compiler/translator/InitializeVariables.cpp
+    src/compiler/translator/InitializeDll.cpp
+    src/compiler/translator/InitializeParseContext.cpp
+    src/compiler/translator/Intermediate.cpp
+    src/compiler/translator/IntermNode.cpp
+    src/compiler/translator/intermOut.cpp
+    src/compiler/translator/IntermTraverse.cpp
+    src/compiler/translator/LoopInfo.cpp
+    src/compiler/translator/Operator.cpp
+    src/compiler/translator/parseConst.cpp
+    src/compiler/translator/ParseContext.cpp
+    src/compiler/translator/PoolAlloc.cpp
+    src/compiler/translator/PruneEmptyDeclarations.cpp
+    src/compiler/translator/QualifierAlive.cpp
+    src/compiler/translator/RegenerateStructNames.cpp
+    src/compiler/translator/RemoveSwitchFallThrough.cpp
+    src/compiler/translator/RewriteElseBlocks.cpp
+    src/compiler/translator/ScalarizeVecAndMatConstructorArgs.cpp
+    src/compiler/translator/SearchSymbol.cpp
+    src/compiler/translator/SeparateArrayInitialization.cpp
+    src/compiler/translator/SeparateDeclarations.cpp
+    src/compiler/translator/ShaderLang.cpp
+    src/compiler/translator/ShaderVars.cpp
+    src/compiler/translator/SimplifyArrayAssignment.cpp
+    src/compiler/translator/SymbolTable.cpp
+    src/compiler/translator/Types.cpp
+    src/compiler/translator/UnfoldShortCircuit.cpp
+    src/compiler/translator/UnfoldShortCircuitAST.cpp
+    src/compiler/translator/util.cpp
+    src/compiler/translator/ValidateLimitations.cpp
+    src/compiler/translator/ValidateOutputs.cpp
+    src/compiler/translator/ValidateSwitch.cpp
+    src/compiler/translator/VariableInfo.cpp
+    src/compiler/translator/VariablePacker.cpp
+    src/compiler/translator/glslang_lex.cpp
+    src/compiler/translator/glslang_tab.cpp
+    src/compiler/translator/depgraph/DependencyGraph.cpp
+    src/compiler/translator/depgraph/DependencyGraphBuilder.cpp
+    src/compiler/translator/depgraph/DependencyGraphOutput.cpp
+    src/compiler/translator/depgraph/DependencyGraphTraverse.cpp
+    src/compiler/translator/timing/RestrictFragmentShaderTiming.cpp
+    src/compiler/translator/timing/RestrictVertexShaderTiming.cpp
+    src/compiler/translator/VersionGLSL.cpp
+    src/libANGLE/angletypes.cpp
+    src/libANGLE/AttributeMap.cpp
+    src/libANGLE/Buffer.cpp
+    src/libANGLE/Caps.cpp
+    src/libANGLE/Compiler.cpp
+    src/libANGLE/Config.cpp
+    src/libANGLE/Context.cpp
+    src/libANGLE/Data.cpp
+    src/libANGLE/Device.cpp
+    src/libANGLE/Display.cpp
+    src/libANGLE/Error.cpp
+    src/libANGLE/Fence.cpp
+    src/libANGLE/Float16ToFloat32.cpp
+    src/libANGLE/formatutils.cpp
+    src/libANGLE/Framebuffer.cpp
+    src/libANGLE/FramebufferAttachment.cpp
+    src/libANGLE/HandleAllocator.cpp
+    src/libANGLE/ImageIndex.cpp
+    src/libANGLE/Platform.cpp
+    src/libANGLE/Program.cpp
+    src/libANGLE/Query.cpp
+    src/libANGLE/queryconversions.cpp
+    src/libANGLE/RefCountObject.cpp
+    src/libANGLE/Renderbuffer.cpp
+    src/libANGLE/renderer/d3d/BufferD3D.cpp
+    src/libANGLE/renderer/d3d/CompilerD3D.cpp
+    src/libANGLE/renderer/d3d/copyimage.cpp
+    src/libANGLE/renderer/d3d/d3d11/Blit11.cpp
+    src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp
+    src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
+    src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp
+    src/libANGLE/renderer/d3d/d3d11/Fence11.cpp
+    src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp
+    src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp
+    src/libANGLE/renderer/d3d/d3d11/Image11.cpp
+    src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp
+    src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp
+    src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp
+    src/libANGLE/renderer/d3d/d3d11/Query11.cpp
+    src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
+    src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
+    src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
+    src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp
+    src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp
+    src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
+    src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
+    src/libANGLE/renderer/d3d/d3d11/Trim11.cpp
+    src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp
+    src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow.cpp
+    src/libANGLE/renderer/d3d/d3d9/Blit9.cpp
+    src/libANGLE/renderer/d3d/d3d9/Buffer9.cpp
+    src/libANGLE/renderer/d3d/d3d9/DebugAnnotator9.cpp
+    src/libANGLE/renderer/d3d/d3d9/Fence9.cpp
+    src/libANGLE/renderer/d3d/d3d9/formatutils9.cpp
+    src/libANGLE/renderer/d3d/d3d9/Framebuffer9.cpp
+    src/libANGLE/renderer/d3d/d3d9/Image9.cpp
+    src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.cpp
+    src/libANGLE/renderer/d3d/d3d9/Query9.cpp
+    src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
+    src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp
+    src/libANGLE/renderer/d3d/d3d9/RenderTarget9.cpp
+    src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.cpp
+    src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp
+    src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp
+    src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp
+    src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp
+    src/libANGLE/renderer/d3d/DeviceD3D.cpp
+    src/libANGLE/renderer/d3d/DisplayD3D.cpp
+    src/libANGLE/renderer/d3d/DynamicHLSL.cpp
+    src/libANGLE/renderer/d3d/formatutilsD3D.cpp
+    src/libANGLE/renderer/d3d/FramebufferD3D.cpp
+    src/libANGLE/renderer/d3d/HLSLCompiler.cpp
+    src/libANGLE/renderer/d3d/ImageD3D.cpp
+    src/libANGLE/renderer/d3d/IndexBuffer.cpp
+    src/libANGLE/renderer/d3d/IndexDataManager.cpp
+    src/libANGLE/renderer/d3d/loadimage.cpp
+    src/libANGLE/renderer/d3d/loadimageSSE2.cpp
+    src/libANGLE/renderer/d3d/ProgramD3D.cpp
+    src/libANGLE/renderer/d3d/RenderbufferD3D.cpp
+    src/libANGLE/renderer/d3d/RendererD3D.cpp
+    src/libANGLE/renderer/d3d/RenderTargetD3D.cpp
+    src/libANGLE/renderer/d3d/ShaderD3D.cpp
+    src/libANGLE/renderer/d3d/ShaderExecutableD3D.cpp
+    src/libANGLE/renderer/d3d/SurfaceD3D.cpp
+    src/libANGLE/renderer/d3d/TextureD3D.cpp
+    src/libANGLE/renderer/d3d/TextureStorage.cpp
+    src/libANGLE/renderer/d3d/TransformFeedbackD3D.cpp
+    src/libANGLE/renderer/d3d/VertexBuffer.cpp
+    src/libANGLE/renderer/d3d/VertexDataManager.cpp
+    src/libANGLE/renderer/DeviceImpl.cpp
+    src/libANGLE/renderer/DisplayImpl.cpp
+    src/libANGLE/renderer/IndexRangeCache.cpp
+    src/libANGLE/renderer/ProgramImpl.cpp
+    src/libANGLE/renderer/RenderbufferImpl.cpp
+    src/libANGLE/renderer/Renderer.cpp
+    src/libANGLE/renderer/SurfaceImpl.cpp
+    src/libANGLE/ResourceManager.cpp
+    src/libANGLE/Sampler.cpp
+    src/libANGLE/Shader.cpp
+    src/libANGLE/State.cpp
+    src/libANGLE/Surface.cpp
+    src/libANGLE/Texture.cpp
+    src/libANGLE/TransformFeedback.cpp
+    src/libANGLE/Uniform.cpp
+    src/libANGLE/validationEGL.cpp
+    src/libANGLE/validationES.cpp
+    src/libANGLE/validationES2.cpp
+    src/libANGLE/validationES3.cpp
+    src/libANGLE/VertexArray.cpp
+    src/libANGLE/VertexAttribute.cpp
+    src/third_party/compiler/ArrayBoundsClamper.cpp
+    src/third_party/murmurhash/MurmurHash3.cpp
+    src/third_party/systeminfo/SystemInfo.cpp
+)
+
+set_property(TARGET libANGLE PROPERTY COMPILE_DEFINITIONS
+    ANGLE_DEFAULT_D3D11=1
+    ANGLE_ENABLE_D3D9
+    ANGLE_ENABLE_D3D11
+    ANGLE_ENABLE_HLSL
+    ANGLE_SKIP_DXGI_1_2_CHECK=1
+    ANGLE_WEBKIT_WIN
+    LIBANGLE_IMPLEMENTATION
+    NOMINMAX
+    __STDC_LIMIT_MACROS
+)
+
+target_link_libraries(libEGL
+    libGLESv2
+)
+
+target_link_libraries(libGLESv2
+    D3d9
+    libANGLE
+)
+
+set_target_properties(libANGLE PROPERTIES FOLDER "ANGLE")
+set_target_properties(libEGL PROPERTIES FOLDER "ANGLE")
+set_target_properties(libGLESv2 PROPERTIES FOLDER "ANGLE")
index fd9c53a..fe59015 100644 (file)
@@ -1,3 +1,12 @@
+2015-08-04  Alex Christensen  <achristensen@webkit.org>
+
+        Enable WebGL on Windows CMake build.
+        https://bugs.webkit.org/show_bug.cgi?id=143311
+
+        Reviewed by Csaba Osztrogonác.
+
+        * CMakeLists.txt: Added.
+
 2015-07-03  Dan Bernstein  <mitz@apple.com>
 
         [Xcode] Update some build settings as recommended by Xcode 7
index 3155080..f37aa11 100644 (file)
@@ -1,3 +1,13 @@
+2015-08-04  Alex Christensen  <achristensen@webkit.org>
+
+        Enable WebGL on Windows CMake build.
+        https://bugs.webkit.org/show_bug.cgi?id=143311
+
+        Reviewed by Csaba Osztrogonác.
+
+        * wtf/FeatureDefines.h:
+        Made the CMake feature defines the same as the non-CMake feature defines.
+
 2015-08-03  Csaba Osztrogonác  <ossy@webkit.org>
 
         Introduce COMPILER(GCC_OR_CLANG) guard and make COMPILER(GCC) true only for GCC
index 1253635..e8ed8cf 100644 (file)
@@ -272,12 +272,7 @@ the public iOS SDK. We will also need to update the FeatureDefines.xcconfig file
 #endif
 
 #if !defined(ENABLE_WEBGL)
-// FIXME: Get WebGL working on Windows with CMake. https://bugs.webkit.org/show_bug.cgi?id=143311
-#if defined(BUILDING_WITH_CMAKE)
 #define ENABLE_WEBGL 0
-#else
-#define ENABLE_WEBGL 0
-#endif
 #endif
 
 #if !defined(ENABLE_GEOLOCATION)
@@ -300,13 +295,8 @@ the public iOS SDK. We will also need to update the FeatureDefines.xcconfig file
 #endif
 
 #if !defined(ENABLE_WEBGL)
-// FIXME: Get WebGL working on Windows with CMake. https://bugs.webkit.org/show_bug.cgi?id=143311
-#if defined(BUILDING_WITH_CMAKE)
-#define ENABLE_WEBGL 0
-#else
 #define ENABLE_WEBGL 1
 #endif
-#endif
 
 #if !defined(ENABLE_GEOLOCATION)
 #define ENABLE_GEOLOCATION 1
index cf42383..5ae30b9 100644 (file)
@@ -3650,7 +3650,7 @@ if (WebCoreTestSupport_OUTPUT_NAME)
     set_target_properties(WebCoreTestSupport PROPERTIES OUTPUT_NAME ${WebCoreTestSupport_OUTPUT_NAME})
 endif ()
 
-if (ENABLE_GRAPHICS_CONTEXT_3D)
+if (ENABLE_GRAPHICS_CONTEXT_3D AND NOT WIN32)
     add_library(ANGLESupport STATIC ${ANGLESupport_SOURCES})
     set_target_properties(ANGLESupport PROPERTIES FOLDER "WebCore")
 
index fc9a24b..f61419b 100644 (file)
@@ -1,3 +1,16 @@
+2015-08-04  Alex Christensen  <achristensen@webkit.org>
+
+        Enable WebGL on Windows CMake build.
+        https://bugs.webkit.org/show_bug.cgi?id=143311
+
+        Reviewed by Csaba Osztrogonác.
+
+        * CMakeLists.txt:
+        ANGLE is built quite differently on Windows, so I'm not going to touch the existing CMake build system for
+        ANGLE on Linux, although I think it should eventually be unified more by using ANGLE's OpenGL renderer.
+        * PlatformWin.cmake:
+        Added some needed source files and include directories.
+
 2015-08-04  Jeremy Jones  <jeremyj@apple.com>
 
         Implement isPictureInPictureInterrupted.
index 8c9144e..62abb23 100644 (file)
@@ -3,11 +3,15 @@ list(APPEND WebCore_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/page/win"
     "${WEBCORE_DIR}/platform/cf"
     "${WEBCORE_DIR}/platform/cf/win"
+    "${WEBCORE_DIR}/platform/graphics/egl"
+    "${WEBCORE_DIR}/platform/graphics/opengl"
     "${WEBCORE_DIR}/platform/graphics/opentype"
     "${WEBCORE_DIR}/platform/graphics/win"
     "${WEBCORE_DIR}/platform/network/win"
     "${WEBCORE_DIR}/platform/win"
     "${WEBCORE_DIR}/plugins/win"
+    "${THIRDPARTY_DIR}/ANGLE/include"
+    "${THIRDPARTY_DIR}/ANGLE/include/egl"
 )
 
 enable_language(ASM_MASM)
@@ -39,8 +43,17 @@ list(APPEND WebCore_SOURCES
     platform/cf/win/CertificateCFWin.cpp
 
     platform/graphics/FontPlatformData.cpp
+    platform/graphics/GraphicsContext3DPrivate.cpp
     platform/graphics/WOFFFileFormat.cpp
 
+    platform/graphics/egl/GLContextEGL.cpp
+
+    platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
+    platform/graphics/opengl/Extensions3DOpenGLES.cpp
+    platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
+    platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
+    platform/graphics/opengl/TemporaryOpenGLSetting.cpp
+
     platform/graphics/opentype/OpenTypeUtilities.cpp
 
     platform/graphics/win/DIBPixelData.cpp
@@ -175,7 +188,9 @@ set(WebCore_FORWARDING_HEADERS_DIRECTORIES
 
     platform/cf/win
 
+    platform/graphics/opengl
     platform/graphics/opentype
+    platform/graphics/texmap
     platform/graphics/transforms
     platform/graphics/win
 
index 198e57c..7484708 100644 (file)
@@ -1,3 +1,13 @@
+2015-08-04  Alex Christensen  <achristensen@webkit.org>
+
+        Enable WebGL on Windows CMake build.
+        https://bugs.webkit.org/show_bug.cgi?id=143311
+
+        Reviewed by Csaba Osztrogonác.
+
+        * PlatformWin.cmake:
+        Added some needed source files and include directories.
+
 2015-08-01  Alex Christensen  <achristensen@webkit.org>
 
         Fix 64-bit CMake build on Windows.
index 2ba8324..29c8a67 100644 (file)
@@ -52,6 +52,11 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/modules/websockets"
     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces"
     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector"
+    "${THIRDPARTY_DIR}"
+    "${THIRDPARTY_DIR}/ANGLE"
+    "${THIRDPARTY_DIR}/ANGLE/include"
+    "${THIRDPARTY_DIR}/ANGLE/include/egl"
+    "${THIRDPARTY_DIR}/ANGLE/include/khr"
 )
 
 list(APPEND WebKit_INCLUDES
@@ -219,6 +224,7 @@ list(APPEND WebKit_SOURCES_WebCoreSupport
     WebCoreSupport/WebViewGroup.cpp
     WebCoreSupport/WebViewGroup.h
 
+    win/WebCoreSupport/AcceleratedCompositingContext.cpp
     win/WebCoreSupport/EmbeddedWidget.cpp
     win/WebCoreSupport/EmbeddedWidget.h
     win/WebCoreSupport/WebChromeClient.cpp
@@ -422,6 +428,14 @@ list(APPEND WebKit_LIBRARIES
     WebKitGUID
 )
 
+if (ENABLE_GRAPHICS_CONTEXT_3D)
+    list(APPEND WebKit_LIBRARIES
+        libANGLE
+        libEGL
+        libGLESv2
+    )
+endif ()
+
 # We need the webkit libraries to come before the system default libraries to prevent symbol conflicts with uuid.lib.
 # To do this we add system default libs as webkit libs and zero out system default libs.
 string(REPLACE " " "\;" CXX_LIBS ${CMAKE_CXX_STANDARD_LIBRARIES})
index 5d6c890..e5e40cb 100644 (file)
@@ -9,6 +9,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_VENDOR_PREFIXES PUBLIC OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PICTURE_SIZES PUBLIC OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_STREAMS_API PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIEW_MODE_CSS_MEDIA PUBLIC OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_SYSTEM_MALLOC PUBLIC ON)
 WEBKIT_OPTION_END()