[Bf-committers] [Bf-blender-cvs] [8d084e8] master: Ghost Context Refactor https://developer.blender.org/D643 Separates graphics context creation from window code in Ghost so that they can vary separately.
Daniel Salazar - patazstudio.com
zanqdo at gmail.com
Thu Oct 9 01:11:11 CEST 2014
After this commit (8d084e8c8f48dd2f07d4a3fbd4a941a7bcc0dcfb) I can not
build in cmake, openSUSE 12.3. This is the error log built with -j 1
http://www.pasteall.org/54431
Daniel Salazar
patazstudio.com
On Tue, Oct 7, 2014 at 2:47 PM, Jason Wilkins <noreply at git.blender.org> wrote:
> Commit: 8d084e8c8f48dd2f07d4a3fbd4a941a7bcc0dcfb
> Author: Jason Wilkins
> Date: Tue Oct 7 15:46:19 2014 -0500
> Branches: master
> https://developer.blender.org/rB8d084e8c8f48dd2f07d4a3fbd4a941a7bcc0dcfb
>
> Ghost Context Refactor
> https://developer.blender.org/D643
> Separates graphics context creation from window code in Ghost so that they can vary separately.
>
> ===================================================================
>
> M CMakeLists.txt
> M SConstruct
> A build_files/cmake/Modules/FindOpenGLES.cmake
> M build_files/cmake/macros.cmake
> M build_files/scons/tools/btools.py
> M extern/CMakeLists.txt
> M extern/SConscript
> A extern/glew-es/CMakeLists.txt
> A extern/glew-es/SConscript
> A extern/glew-es/include/GL/eglew.h
> A extern/glew-es/include/GL/glesew.h
> A extern/glew-es/include/GL/glew.h
> A extern/glew-es/include/GL/glxew.h
> A extern/glew-es/include/GL/wglew.h
> A extern/glew-es/src/glew.c
> M extern/glew/CMakeLists.txt
> M extern/glew/SConscript
> M extern/glew/include/GL/glew.h
> M extern/glew/include/GL/glxew.h
> M extern/glew/include/GL/wglew.h
> M extern/glew/src/glew.c
> M intern/CMakeLists.txt
> M intern/SConscript
> M intern/cycles/SConscript
> M intern/cycles/app/CMakeLists.txt
> M intern/cycles/blender/CMakeLists.txt
> M intern/cycles/cmake/external_libs.cmake
> M intern/cycles/device/CMakeLists.txt
> M intern/cycles/render/CMakeLists.txt
> M intern/cycles/util/CMakeLists.txt
> M intern/cycles/util/util_opengl.h
> M intern/cycles/util/util_view.cpp
> M intern/ghost/CMakeLists.txt
> M intern/ghost/GHOST_C-api.h
> M intern/ghost/GHOST_IWindow.h
> M intern/ghost/SConscript
> M intern/ghost/intern/GHOST_C-api.cpp
> A intern/ghost/intern/GHOST_Context.cpp
> A intern/ghost/intern/GHOST_Context.h
> A intern/ghost/intern/GHOST_ContextCGL.h
> A intern/ghost/intern/GHOST_ContextCGL.mm
> A intern/ghost/intern/GHOST_ContextEGL.cpp
> A intern/ghost/intern/GHOST_ContextEGL.h
> A intern/ghost/intern/GHOST_ContextGLX.cpp
> A intern/ghost/intern/GHOST_ContextGLX.h
> A intern/ghost/intern/GHOST_ContextNone.cpp
> A intern/ghost/intern/GHOST_ContextNone.h
> A intern/ghost/intern/GHOST_ContextSDL.cpp
> A intern/ghost/intern/GHOST_ContextSDL.h
> A intern/ghost/intern/GHOST_ContextWGL.cpp
> A intern/ghost/intern/GHOST_ContextWGL.h
> M intern/ghost/intern/GHOST_ISystem.cpp
> M intern/ghost/intern/GHOST_SystemCocoa.mm
> M intern/ghost/intern/GHOST_SystemWin32.cpp
> M intern/ghost/intern/GHOST_SystemX11.cpp
> M intern/ghost/intern/GHOST_SystemX11.h
> M intern/ghost/intern/GHOST_Window.cpp
> M intern/ghost/intern/GHOST_Window.h
> M intern/ghost/intern/GHOST_WindowCocoa.h
> M intern/ghost/intern/GHOST_WindowCocoa.mm
> M intern/ghost/intern/GHOST_WindowSDL.cpp
> M intern/ghost/intern/GHOST_WindowSDL.h
> M intern/ghost/intern/GHOST_WindowWin32.cpp
> M intern/ghost/intern/GHOST_WindowWin32.h
> M intern/ghost/intern/GHOST_WindowX11.cpp
> M intern/ghost/intern/GHOST_WindowX11.h
> M intern/ghost/test/CMakeLists.txt
> A intern/glew-mx/CMakeLists.txt
> A intern/glew-mx/SConscript
> A intern/glew-mx/glew-mx.h
> A intern/glew-mx/intern/gl-deprecated.h
> A intern/glew-mx/intern/glew-mx.c
> A intern/glew-mx/intern/symbol-binding.h
> M intern/locale/CMakeLists.txt
> M intern/locale/SConscript
> M intern/locale/boost_locale_wrapper.cpp
> M intern/locale/boost_locale_wrapper.h
> A intern/locale/osx_user_locale.mm
> M intern/opencolorio/CMakeLists.txt
> M intern/opencolorio/SConscript
> M intern/opencolorio/ocio_impl.cc
> M intern/opencolorio/ocio_impl_glsl.cc
> M source/blender/blenfont/CMakeLists.txt
> M source/blender/blenfont/SConscript
> M source/blender/blenkernel/CMakeLists.txt
> M source/blender/blenkernel/SConscript
> M source/blender/blenkernel/intern/DerivedMesh.c
> M source/blender/blenkernel/intern/cdderivedmesh.c
> M source/blender/blenkernel/intern/editderivedmesh.c
> M source/blender/blenkernel/intern/pbvh.c
> M source/blender/blenkernel/intern/smoke.c
> M source/blender/blenkernel/intern/subsurf_ccg.c
> M source/blender/editors/animation/CMakeLists.txt
> M source/blender/editors/animation/SConscript
> M source/blender/editors/armature/CMakeLists.txt
> M source/blender/editors/armature/SConscript
> M source/blender/editors/gpencil/CMakeLists.txt
> M source/blender/editors/gpencil/SConscript
> M source/blender/editors/include/BIF_gl.h
> M source/blender/editors/interface/CMakeLists.txt
> M source/blender/editors/interface/SConscript
> M source/blender/editors/mask/CMakeLists.txt
> M source/blender/editors/mask/SConscript
> M source/blender/editors/mesh/CMakeLists.txt
> M source/blender/editors/mesh/SConscript
> M source/blender/editors/object/CMakeLists.txt
> M source/blender/editors/physics/CMakeLists.txt
> M source/blender/editors/physics/SConscript
> M source/blender/editors/render/CMakeLists.txt
> M source/blender/editors/render/SConscript
> M source/blender/editors/render/render_opengl.c
> M source/blender/editors/screen/CMakeLists.txt
> M source/blender/editors/screen/SConscript
> M source/blender/editors/sculpt_paint/CMakeLists.txt
> M source/blender/editors/sculpt_paint/SConscript
> M source/blender/editors/space_action/CMakeLists.txt
> M source/blender/editors/space_action/SConscript
> M source/blender/editors/space_buttons/CMakeLists.txt
> M source/blender/editors/space_buttons/SConscript
> M source/blender/editors/space_clip/CMakeLists.txt
> M source/blender/editors/space_clip/SConscript
> M source/blender/editors/space_console/CMakeLists.txt
> M source/blender/editors/space_console/SConscript
> M source/blender/editors/space_file/CMakeLists.txt
> M source/blender/editors/space_file/SConscript
> M source/blender/editors/space_graph/CMakeLists.txt
> M source/blender/editors/space_graph/SConscript
> M source/blender/editors/space_image/CMakeLists.txt
> M source/blender/editors/space_image/SConscript
> M source/blender/editors/space_info/CMakeLists.txt
> M source/blender/editors/space_info/SConscript
> M source/blender/editors/space_logic/CMakeLists.txt
> M source/blender/editors/space_logic/SConscript
> M source/blender/editors/space_nla/CMakeLists.txt
> M source/blender/editors/space_nla/SConscript
> M source/blender/editors/space_node/CMakeLists.txt
> M source/blender/editors/space_node/SConscript
> M source/blender/editors/space_outliner/CMakeLists.txt
> M source/blender/editors/space_outliner/SConscript
> M source/blender/editors/space_script/CMakeLists.txt
> M source/blender/editors/space_script/SConscript
> M source/blender/editors/space_sequencer/CMakeLists.txt
> M source/blender/editors/space_sequencer/SConscript
> M source/blender/editors/space_text/CMakeLists.txt
> M source/blender/editors/space_text/SConscript
> M source/blender/editors/space_time/CMakeLists.txt
> M source/blender/editors/space_time/SConscript
> M source/blender/editors/space_view3d/CMakeLists.txt
> M source/blender/editors/space_view3d/SConscript
> M source/blender/editors/transform/CMakeLists.txt
> M source/blender/editors/transform/SConscript
> M source/blender/editors/util/CMakeLists.txt
> M source/blender/editors/util/SConscript
> M source/blender/editors/uvedit/CMakeLists.txt
> M source/blender/editors/uvedit/SConscript
> M source/blender/gpu/CMakeLists.txt
> M source/blender/gpu/GPU_extensions.h
> A source/blender/gpu/GPU_glew.h
> A source/blender/gpu/GPU_init_exit.h
> M source/blender/gpu/GPU_material.h
> M source/blender/gpu/SConscript
> M source/blender/gpu/intern/gpu_buffers.c
> M source/blender/gpu/intern/gpu_codegen.c
> M source/blender/gpu/intern/gpu_codegen.h
> M source/blender/gpu/intern/gpu_draw.c
> M source/blender/gpu/intern/gpu_extensions.c
> A source/blender/gpu/intern/gpu_extensions_private.h
> A source/blender/gpu/intern/gpu_init_exit.c
> M source/blender/gpu/intern/gpu_material.c
> M source/blender/gpu/intern/gpu_select.c
> M source/blender/gpu/intern/gpu_simple_shader.c
> M source/blender/makesrna/SConscript
> M source/blender/makesrna/intern/CMakeLists.txt
> M source/blender/makesrna/intern/SConscript
> M source/blender/modifiers/CMakeLists.txt
> M source/blender/modifiers/SConscript
> M source/blender/nodes/CMakeLists.txt
> M source/blender/nodes/SConscript
> M source/blender/python/SConscript
> M source/blender/python/generic/CMakeLists.txt
> M source/blender/python/generic/bgl.c
> M source/blender/python/intern/CMakeLists.txt
> M source/blender/windowmanager/CMakeLists.txt
> M source/blender/windowmanager/SConscript
> M source/blender/windowmanager/intern/wm_draw.c
> M source/blender/windowmanager/intern/wm_init_exit.c
> M source/blender/windowmanager/intern/wm_window.c
> M source/blender/windowmanager/wm_window.h
> M source/blenderplayer/CMakeLists.txt
> M source/creator/CMakeLists.txt
> M source/creator/creator.c
> M source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
> M source/gameengine/BlenderRoutines/CMakeLists.txt
> M source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp
> M source/gameengine/BlenderRoutines/KX_BlenderCanvas.h
> M source/gameengine/BlenderRoutines/SConscript
> M source/gameengine/GamePlayer/common/CMakeLists.txt
> M source/gameengine/GamePlayer/common/GPC_Canvas.h
> M source/gameengine/GamePlayer/common/SConscript
> M source/gameengine/GamePlayer/ghost/CMakeLists.txt
> M source/gameengine/GamePlayer/ghost/GPG_Application.cpp
> M source/gameengine/GamePlayer/ghost/GPG_Canvas.cpp
> M source/gameengine/GamePlayer/ghost/GPG_Canvas.h
> M source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
> M source/gameengine/GamePlayer/ghost/SConscript
> M source/gameengine/Ketsji/BL_Shader.cpp
> M source/gameengine/Ketsji/BL_Texture.cpp
> M source/gameengine/Ketsji/CMakeLists.txt
> M source/gameengine/Ketsji/KX_BlenderMaterial.cpp
> M source/gameengine/Ketsji/KX_Camera.cpp
> M source/gameengine/Ketsji/KX_Dome.cpp
> M source/gameengine/Ketsji/KX_Dome.h
> M source/gameengine/Ketsji/KX_PythonInit.cpp
> M source/gameengine/Ketsji/SConscript
> M source/gameengine/Physics/Bullet/CMakeLists.txt
> M source/gameengine/Physics/Bullet/SConscript
> M source/gameengine/Rasterizer/CMakeLists.txt
> M source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
> M source/gameengine/Rasterizer/RAS_ICanvas.h
> M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt
> M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp
> M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp
> M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLLight.cpp
> M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
> M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageIM.cpp
> M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVA.cpp
> M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
> M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h
> M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/SConscript
> M source/gameengine/Rasterizer/SConscript
> M source/gameengine/VideoTexture/CMakeLists.txt
> M source/gameengine/VideoTexture/ImageBase.cpp
> M source/gameengine/VideoTexture/ImageRender.cpp
> M source/gameengine/VideoTexture/ImageViewport.cpp
> M source/gameengine/VideoTexture/SConscript
> M source/gameengine/VideoTexture/Texture.cpp
>
> ===================================================================
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index 3222feb..1fb406f 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -169,14 +169,22 @@ mark_as_advanced(WITH_AUDASPACE)
> option(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" ON)
>
> if(UNIX AND NOT APPLE)
> - option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support and unicode input)" ON)
> - option(WITH_X11_XF86VMODE "Enable X11 video mode switching" ON)
> - option(WITH_SYSTEM_GLEW "Use GLEW OpenGL wrapper library provided by the operating system" ON)
> + set(WITH_X11 ON)
> +endif()
>
> - option(WITH_GHOST_XDND "Enable drag'n'drop support on X11 using XDND protocol" ON)
> +if(WITH_X11)
> + option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support and unicode input)" ON)
> + option(WITH_X11_XF86VMODE "Enable X11 video mode switching" ON)
> + option(WITH_GHOST_XDND "Enable drag'n'drop support on X11 using XDND protocol" ON)
> +endif()
> +
> +if(UNIX AND NOT APPLE)
> + option(WITH_SYSTEM_GLEW "Use GLEW OpenGL wrapper library provided by the operating system" ON)
> + option(WITH_SYSTEM_GLES "Use OpenGL ES library provided by the operating system" ON)
> else()
> # not an option for other OS's
> set(WITH_SYSTEM_GLEW OFF)
> + set(WITH_SYSTEM_GLES OFF)
> endif()
>
>
> @@ -320,6 +328,42 @@ endif()
> # Unit testsing
> option(WITH_GTESTS "Enable GTest unit testing" OFF)
>
> +# OpenGL
> +
> +option(WITH_GLEW_MX "Support multiple GLEW contexts (experimental)" ON )
> +option(WITH_GLEW_ES "Switches to experimental copy of GLEW that has support for OpenGL ES. (temporary option for development purposes)" OFF)
> +option(WITH_GL_EGL "Use the EGL OpenGL system library instead of the platform specific OpenGL system library (CGL, glX, or WGL)" OFF)
> +option(WITH_GL_PROFILE_COMPAT "Support using the OpenGL 'compatibility' profile. (deprecated)" ON )
> +option(WITH_GL_PROFILE_CORE "Support using the OpenGL 3.2+ 'core' profile." OFF)
> +option(WITH_GL_PROFILE_ES20 "Support using OpenGL ES 2.0. (thru either EGL or the AGL/WGL/XGL 'es20' profile)" OFF)
> +
> +mark_as_advanced(
> + WITH_GLEW_MX
> + WITH_GLEW_ES
> + WITH_GL_EGL
> + WITH_GL_PROFILE_COMPAT
> + WITH_GL_PROFILE_CORE
> + WITH_GL_PROFILE_ES20
> +)
> +
> +if (WITH_GL_PROFILE_COMPAT)
> + set(WITH_GLU ON)
> +else()
> + set(WITH_GLU OFF)
> +endif()
> +
> +if(WIN32)
> + option(WITH_GL_ANGLE "Link with the ANGLE library, an OpenGL ES 2.0 implementation based on Direct3D, instead of the system OpenGL library." OFF)
> + mark_as_advanced(WITH_GL_ANGLE)
> +endif()
> +
> +if(WITH_GLEW_ES AND WITH_SYSTEM_GLEW)
> + message(WARNING Ignoring WITH_SYSTEM_GLEW and using WITH_GLEW_ES)
> + set(WITH_SYSTEM_GLEW OFF)
> +endif()
> +
> +# Apple
> +
> if(APPLE)
> if(${CMAKE_VERSION} VERSION_LESS 3.0) # else breaks setting CMP0043 policy
> cmake_minimum_required(VERSION 2.8.8)
> @@ -518,9 +562,10 @@ if(WITH_INSTALL_PORTABLE)
> endif()
>
> if(WITH_GHOST_SDL OR WITH_HEADLESS)
> - set(WITH_GHOST_XDND OFF)
> + set(WITH_X11 OFF)
> + set(WITH_X11_XINPUT OFF)
> set(WITH_X11_XF86VMODE OFF)
> - set(WITH_X11_XINPUT OFF)
> + set(WITH_GHOST_XDND OFF)
> endif()
>
> TEST_SSE_SUPPORT(COMPILER_SSE_FLAG COMPILER_SSE2_FLAG)
> @@ -602,6 +647,35 @@ set(PLATFORM_LINKFLAGS_DEBUG "")
> #-----------------------------------------------------------------------------
> #Platform specifics
>
> +if(WITH_X11)
> + find_package(X11 REQUIRED)
> +
> + find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH})
> + mark_as_advanced(X11_XF86keysym_INCLUDE_PATH)
> +
> + list(APPEND PLATFORM_LINKLIBS ${X11_X11_LIB})
> +
> + if(WITH_X11_XINPUT)
> + if(X11_Xinput_LIB)
> + list(APPEND PLATFORM_LINKLIBS ${X11_Xinput_LIB})
> + else()
> + set(WITH_X11_XINPUT OFF)
> + endif()
> + endif()
> +
> + if(WITH_X11_XF86VMODE)
> + # XXX, why dont cmake make this available?
> + find_library(X11_Xxf86vmode_LIB Xxf86vm ${X11_LIB_SEARCH_PATH})
> + mark_as_advanced(X11_Xxf86vmode_LIB)
> + if(X11_Xxf86vmode_LIB)
> + list(APPEND PLATFORM_LINKLIBS ${X11_Xxf86vmode_LIB})
> + else()
> + set(WITH_X11_XF86VMODE OFF)
> + endif()
> + endif()
> +
> +endif()
> +
> if(UNIX AND NOT APPLE)
> macro(find_package_wrapper)
> string(TOUPPER ${ARGV0} _NAME_UPPER)
> @@ -910,33 +984,6 @@ if(UNIX AND NOT APPLE)
> # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
> list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm -lpthread)
>
> - if((NOT WITH_HEADLESS) AND (NOT WITH_GHOST_SDL))
> - find_package(X11 REQUIRED)
> - find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH})
> - mark_as_advanced(X11_XF86keysym_INCLUDE_PATH)
> -
> - list(APPEND PLATFORM_LINKLIBS ${X11_X11_LIB})
> -
> - if(WITH_X11_XINPUT)
> - if(X11_Xinput_LIB)
> - list(APPEND PLATFORM_LINKLIBS ${X11_Xinput_LIB})
> - else()
> - set(WITH_X11_XINPUT OFF)
> - endif()
> - endif()
> -
> - if(WITH_X11_XF86VMODE)
> - # XXX, why dont cmake make this available?
> - find_library(X11_Xxf86vmode_LIB Xxf86vm ${X11_LIB_SEARCH_PATH})
> - mark_as_advanced(X11_Xxf86vmode_LIB)
> - if(X11_Xxf86vmode_LIB)
> - list(APPEND PLATFORM_LINKLIBS ${X11_Xxf86vmode_LIB})
> - else()
> - set(WITH_X11_XF86VMODE OFF)
> - endif()
> - endif()
> - endif()
> -
> if(CMAKE_SYSTEM_NAME MATCHES "Linux")
> if(NOT WITH_PYTHON_MODULE)
> # binreloc is linux only
> @@ -2078,10 +2125,123 @@ endif()
>
> #-----------------------------------------------------------------------------
> # Configure OpenGL.
> +
> find_package(OpenGL)
> blender_include_dirs_sys("${OPENGL_INCLUDE_DIR}")
> -# unset(OPENGL_LIBRARIES CACHE) # not compat with older cmake
> -# unset(OPENGL_xmesa_INCLUDE_DIR CACHE) # not compat with older cmake
> +
> +if(WITH_GLU)
> + list(APPEND BLENDER_GL_LIBRARIES "${OPENGL_glu_LIBRARY}")
> + list(APPEND GL_DEFINITIONS -DWITH_GLU)
> +endif()
> +
> +if(WITH_SYSTEM_GLES)
> + find_package_wrapper(OpenGLES)
> +endif()
> +
> +if(WITH_GL_PROFILE_COMPAT OR WITH_GL_PROFILE_CORE)
> + list(APPEND BLENDER_GL_LIBRARIES "${OPENGL_gl_LIBRARY}")
> +
> +elseif(WITH_GL_PROFILE_ES20)
> + if(WITH_SYSTEM_GLES)
> + if(NOT OPENGLES_LIBRARY)
> + message(FATAL_ERROR "Unable to find OpenGL ES libraries. Install them or disable WITH_SYSTEM_GLES.")
> + endif()
> +
> + list(APPEND BLENDER_GL_LIBRARIES OPENGLES_LIBRARY)
> +
> + else()
> + set(OPENGLES_LIBRARY "" CACHE FILEPATH "OpenGL ES 2.0 library file")
> + mark_as_advanced(OPENGLES_LIBRARY)
> +
> + list(APPEND BLENDER_GL_LIBRARIES "${OPENGLES_LIBRARY}")
> +
> + if (NOT OPENGLES_LIBRARY)
> + message(FATAL_ERROR "To compile WITH_GL_EGL you need to set OPENGLES_LIBRARY to the file path of an OpenGL ES 2.0 library.")
> + endif()
> +
> + endif()
> +
> + if(WIN32)
> + # Setup paths to files needed to install and redistribute Windows Blender with OpenGL ES
> +
> + set(OPENGLES_DLL "" CACHE FILEPATH "OpenGL ES 2.0 redistributable DLL file")
> + mark_as_advanced(OPENGLES_DLL)
> +
> + if(NOT OPENGLES_DLL)
> + message(FATAL_ERROR "To compile WITH_GL_PROFILE_ES20 you need to set OPENGLES_DLL to the file path of an OpenGL ES 2.0 runtime dynamic link library (DLL).")
> + endif()
> +
> + if(WITH_GL_ANGLE)
> + list(APPEND GL_DEFINITIONS -DWITH_ANGLE)
> +
> + set(D3DCOMPILER_DLL "" CACHE FILEPATH "Direct3D Compiler redistributable DLL file (needed by ANGLE)")
> +
> + get_filename_component(D3DCOMPILER_FILENAME "${D3DCOMPILER_DLL}" NAME)
> + list(APPEND GL_DEFINITIONS "-DD3DCOMPILER=\"\\\"${D3DCOMPILER_FILENAME}\\\"\"")
> +
> + mark_as_advanced(D3DCOMPILER_DLL)
> +
> + if (D3DCOMPILER_DLL STREQUAL "")
> + message(FATAL_ERROR "To compile WITH_GL_ANGLE you need to set D3DCOMPILER_DLL to the file path of a copy of the DirectX redistributable DLL file: D3DCompiler_46.dll")
> + endif()
> +
> + endif()
> +
> + endif()
> +
> +endif()
> +
> +if(WITH_GL_EGL)
> + list(APPEND GL_DEFINITIONS -DWITH_GL_EGL)
> +
> + if(WITH_SYSTEM_GLES)
> + if(NOT OPENGLES_EGL_LIBRARY)
> + message(FATAL_ERROR "Unable to find OpenGL ES libraries. Install them or disable WITH_SYSTEM_GLES.")
> + endif()
> +
> + list(APPEND BLENDER_GL_LIBRARIES OPENGLES_EGL_LIBRARY)
> +
> + else()
> + set(OPENGLES_EGL_LIBRARY "" CACHE FILEPATH "EGL library file")
> + mark_as_advanced(OPENGLES_EGL_LIBRARY)
> +
> + list(APPEND BLENDER_GL_LIBRARIES "${OPENGLES_LIBRARY}" "${OPENGLES_EGL_LIBRARY}")
> +
> + if (NOT OPENGLES_EGL_LIBRARY)
> + message(FATAL_ERROR "To compile WITH_GL_EGL you need to set OPENGLES_EGL_LIBRARY to the file path of an EGL library.")
> + endif()
> +
> + endif()
> +
> + if(WIN32)
> + # Setup paths to files needed to install and redistribute Windows Blender with OpenGL ES
> +
> + set(OPENGLES_EGL_DLL "" CACHE FILEPATH "EGL redistributable DLL file")
> + mark_as_advanced(OPENGLES_EGL_DLL)
> +
> + if(NOT OPENGLES_EGL_DLL)
> + message(FATAL_ERROR "To compile WITH_GL_EGL you need to set OPENGLES_EGL_DLL to the file path of an EGL runtime dynamic link library (DLL).")
> + endif()
> +
> + endif()
> +
> +endif()
> +
> +if(WITH_GL_PROFILE_COMPAT)
> + list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_COMPAT)
> +endif()
> +
> +if(WITH_GL_PROFILE_CORE)
> + list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_CORE)
> +endif()
> +
> +if(WITH_GL_PROFILE_ES20)
> + list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_ES20)
> +endif()
> +
> +if(WITH_GL_EGL)
> + list(APPEND GL_DEFINITIONS -DWITH_EGL)
> +endif()
>
> #-----------------------------------------------------------------------------
> # Configure OpenMP.
> @@ -2103,19 +2263,76 @@ endif()
> #-----------------------------------------------------------------------------
> # Configure GLEW
>
> +if(WITH_GLEW_MX)
> + list(APPEND GL_DEFINITIONS -DWITH_GLEW_MX)
> +endif()
> +
> if(WITH_SYSTEM_GLEW)
> find_package(GLEW)
>
> + # Note: There is an assumption here that the system GLEW is not a static library.
> +
> if(NOT GLEW_FOUND)
> - message(FATAL_ERROR "GLEW is required to build blender, install it or disable WITH_SYSTEM_GLEW")
> + message(FATAL_ERROR "GLEW is required to build Blender. Install it or disable WITH_SYSTEM_GLEW.")
> endif()
>
> - set(GLEW_INCLUDE_PATH "${GLEW_INCLUDE_DIRS}")
> + if(WITH_GLEW_MX)
> + set(BLENDER_GLEW_LIBRARIES ${GLEW_MX_LIBRARY})
> + else()
> + set(BLENDER_GLEW_LIBRARIES ${GLEW_LIBRARY})
> + endif()
> else()
> - # set(GLEW_LIBRARY "") # unused
> - set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew/include")
> + if(WITH_GLEW_ES)
> + set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew-es/include")
> +
>
> @@ Diff output truncated at 10240 characters. @@
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
More information about the Bf-committers
mailing list