From: Wheeler, F. (Research) <wh...@cr...> - 2002-06-12 18:46:44
|
I've gone and made the changes necessary to build vxl in cygwin with WIN32 set in cmake, previously I build in Cygwin by unsetting WIN32 in cmake. Some highlights of the changes are: * removed the option to unset WIN32 in the top level CMakeLists file * top level CMakeLists now defines cmake var HAS_MFC and adds -DHAS_MFC * cmake Module files changes to find the right opengl and glut in cygwin * FindX11 Module changed to add -DHAS_X11 * source code that used "ifdef VCL_WIN32" now uses "if defined(VCL_WIN32) && !defined(__CYGWIN__)" * cmake files and source code now make use of MFC and/or X11 based on whether HAS_MFC or HAS_X11 are set. Previously much code assumed that WIN32 --> MFC and !WIN32 --> X11. * config.win32-VC60 is not included under cygwin The only important tweak I have to make for my cygwin continuous build is to set X11_INCLUDE_PATH:PATH=IGNORE. If I do not do this, then /usr/X11R6/include/GL overrides /usr/include/GL and leads to mismatched include files and libraries. That was a pain to figure out, so I hope this e-mail finds anyone with the same problem in the future. Glut seems to sort of work under cygwin without X11. Execs that can find the toolkit can open windows. I can view an image with xcv and display-images (after adding linker_hack.h, not committed), but there are no menu bars or buttons. Fred Wheeler > -----Original Message----- > From: Wheeler, Fred (Research) > Sent: Sunday, June 09, 2002 10:10 AM > To: 'vxl...@li...' > Subject: [Vxl-maintainers] Successful error-free build of VXL > in Cygwin > > > 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 > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas - > http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink > > _______________________________________________ > Vxl-maintainers mailing list > Vxl...@li... > https://lists.sourceforge.net/lists/listinfo/vxl-maintainers > |
From: Andrew F. <aw...@ro...> - 2002-06-12 19:05:04
|
> * cmake files and source code now make use of MFC and/or X11 > based on whether HAS_MFC or HAS_X11 are > set. Previously much code assumed that WIN32 --> MFC and > !WIN32 --> X11. This is an excellent change... That was always a problem in VXL. Thanks! |