[vtk-developers] Re: Fwd: Re: Compiling VTK-5.0.2 with Cygwin make
smr at sumost.ca
Thu Sep 21 15:37:33 EDT 2006
Quoting Steve Robbins <smr at sumost.ca>:
To recap: I am building VTK 5 sources on cygwin under windows XP. The
initial build failed with link errors. Cygwin provides two different
OpenGL implementations: one that runs on top of X11 and one that
doesn't. The cause of the link errors is that the compilation used
gl.h from X11 but linked against the non-X11 GL library.
I configured with VTK_USE_X set to OFF.
> Note that VTK_USE_X is off: so why am I picking up
> -I/usr/X11R6/include? Hmmm....
The answer is that CMakeCache.txt had the following line:
So why is that? It appears to me that there's a bug somewhere in
CMake (I'm using CMake version 2.4-patch 3). There's no agreement on
whether having CYGWIN true should imply that WIN32 is true. The
symbol CYGWIN is set by the CMakeCCompiler, CMakeCXXCompiler, and
CMakeFortranCompiler. All of these set UNIX but don't set WIN32. The
module FindOpenGL, however, only tests CYGWIN when WIN32 is also true.
In particular, here is the code from FindOpenGL that searches for the
OpenGL include path:
For non-X11 builds, the correct location for GL/gl.h is
/usr/include/w32api. But since WIN32 is not defined, we go through
the second FIND_PATH() and end up with -I/usr/X11R6/include on the
I'm not really sure what to suggest as a fix: should CMakeCCompiler
and friends define WIN32 or should FindOpenGL be overhauled?
More information about the vtk-developers