The OpenGL library is not supported on Gtk3 which uses the cairo
library for rendering. Cairo, in turn uses hardware acceleration when
supported by the underlying system. Some improvement to performance
may be gained by useing the cairo-gl and cairo-glx libraries included
on modern Gtk3 systems.
See the cairo documentation for further information. The following
link may also be of interest.
http://lists.cairographics.org/archives/cairo/2012-October/023609.html
A new option WITH_GTK3 has been added to the cmake configure system to enable compilation under Gtk version 3.The flag HAVE_GTK3 is also introduced to select the new Gtk3 code in the source files. (Gtk2 is disbled when Gtk3 is selected).
window_gtk.cpp has been modified to remove obsolete (and deleted from libgtk 3) and introduce new Gtk3 code in its place when compiled for Gtk3.
To compile for Gtk2, disable WITH_GTK3 in cmake. To build for Gtk3 both WITH_GTK and WITH_GTK3 must be selected.
* There's no OPENCV_BINARY_DIR variable;
* No need to append CMakeFiles/CMakeTmp, as CMake does it for you;
* Output variables are unused;
* Wrong usage of CMAKE_FLAGS;
* Small quoting and style issues.
Now the HAVE_* macros are set using cvconfig.h. Previously most
of them already were there, but were always undefined. One,
HAVE_COCOA, I had to add.
This also makes the CMake code more consistent; now, WITH_* variables
are always checked in cmake/*, while HAVE_* variables are checked in
modules/highgui/CMakeLists.txt.