[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