From: Wheeler, F. (Research) <wh...@cr...> - 2002-06-09 14:10:11
|
I now have VXL building well in Cygwin using cmake, GNU make, and gcc 2.95.3-5. I have in the end found a surprisingly minimal set of changes that makes this work. The trick is to unset WIN32 (the CMake variable) and to not set VGUI_MESA (the C++ preprocessor variable). CMake normally sets WIN32, UNIX and CYGWIN under Cygwin, but much of VXL assumes that if WIN32 is set you are in a regular Windows environment and have MFC, are using MSVC++, have certain libs, etc. Turning off WIN32 makes VXL build as if in a Unix environment, which Cygwin provides. Execs created in this manner depend on cygwin.dll, of course. VGUI_MESA must be unset to prevent inclusion of xmesa.h, which is not distributed with Cygwin. WIN32 will be unset in the top level CMakeLists file when CYGWIN is set and when the OPTION CYGWIN_UNSET_WIN32 is true (false by default). My changes should not effect anyone else. The build has no errors, a few warnings in v3p, and 3 tests that fail. So, I'll start submitting a continuous build. vgui builds with this setup, but no vgui implementation does. Well, libvgui_X.a builds, but I don't think that is a complete vgui implementation. If anybody knows of an implementation that has some possibility of working under Cygwin I'll try to get it working. Below is what I know about each of the implementations w.r.t. Cygwin. Can anyone fill in any of the gaps. Might any of these work? Does not having xmesa preclude any/all of these? Fl: SDL: X: Using X requires using XMesa. Cygwin XMesa (XFree86) not right for VXL Xm: glX: glut: gtk: Cygwin does not have a ready to go distribution mfc: Bill Hoffman says gcc will not be able to link with MFC qt: Qt web page says Windows supported but only with MSVC++ compiler The cmake options I'm using are: cmake \ -G"Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX:PATH=$SRW/vxl_usr_cyg \ -DBUILD_SHARED_LIBS:BOOL=OFF \ -DCMAKE_C_FLAGS:STRING="-g -O2" \ -DCMAKE_CXX_FLAGS:STRING="-g -O2" \ -DCYGWIN_UNSET_WIN32:BOOL=YES \ -DNATIVE_ZLIB_INCLUDE_PATH:PATH=IGNORE \ -DNATIVE_ZLIB_LIBRARY:FILEPATH=IGNORE \ -DNATIVE_PNG_INCLUDE_PATH:PATH=IGNORE \ -DNATIVE_PNG_LIBRARY:FILEPATH=IGNORE \ -DNATIVE_JPEG_INCLUDE_PATH:PATH=IGNORE \ -DNATIVE_JPEG_LIBRARY:FILEPATH=IGNORE \ -DNATIVE_TIFF_INCLUDE_PATH:PATH=IGNORE \ -DNATIVE_TIFF_LIBRARY:FILEPATH=IGNORE \ $SRW/vxl_src -Fred Wheeler |