From: ski Date: Fri, 20 May 2016 08:31:27 +0000 (+0300) Subject: 0026512: Build fails with VTK 6.2 and OpenGL2 Rendering Backend X-Git-Tag: V7_0_winwerth~40 X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff_plain;h=88d533be65d5cb9b0230646973a708420f643c35 0026512: Build fails with VTK 6.2 and OpenGL2 Rendering Backend Support of VTK with OpenGL2 Rendering Backend was added. --- diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake index 85aaea3e50..bb205095bf 100644 --- a/adm/cmake/occt_toolkit.cmake +++ b/adm/cmake/occt_toolkit.cmake @@ -235,6 +235,21 @@ if (APPLE) endif() endif() +# Update list of used VTK libraries if OpenGL2 Rendering BackEnd is used. +# Add VTK_OPENGL2_BACKEND definition. +if("${VTK_RENDERING_BACKEND}" STREQUAL "OpenGL2") + add_definitions(-DVTK_OPENGL2_BACKEND) + foreach (VTK_EXCLUDE_LIBRARY vtkRenderingOpenGL vtkRenderingFreeTypeOpenGL) + list (FIND USED_TOOLKITS_BY_CURRENT_PROJECT "${VTK_EXCLUDE_LIBRARY}" IS_VTK_OPENGL_FOUND) + if (NOT ${IS_VTK_OPENGL_FOUND} EQUAL -1) + list (REMOVE_ITEM USED_TOOLKITS_BY_CURRENT_PROJECT ${VTK_EXCLUDE_LIBRARY}) + if (${VTK_EXCLUDE_LIBRARY} STREQUAL vtkRenderingOpenGL) + list (APPEND USED_TOOLKITS_BY_CURRENT_PROJECT vtkRenderingOpenGL2) + endif() + endif() + endforeach() +endif() + if (BUILD_SHARED_LIBS) target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT}) endif() diff --git a/src/IVtkVTK/IVtkVTK_View.cxx b/src/IVtkVTK/IVtkVTK_View.cxx index 917b00e5b8..2eeaf3c3ed 100644 --- a/src/IVtkVTK/IVtkVTK_View.cxx +++ b/src/IVtkVTK/IVtkVTK_View.cxx @@ -27,7 +27,11 @@ IMPLEMENT_STANDARD_RTTIEXT(IVtkVTK_View,IVtk_IView) // Since VTK 6 the factory methods require "auto-initialization" depending on // what modules are enabled at VTK configure time. // Some defines are needed in order to make the factories work properly. +#ifdef VTK_OPENGL2_BACKEND +VTK_MODULE_INIT(vtkRenderingOpenGL2) +#else VTK_MODULE_INIT(vtkRenderingOpenGL) +#endif VTK_MODULE_INIT(vtkInteractionStyle) // Handle implementation