On 2009-07-23 20:06-0400 Hazen Babcock wrote: > > I'd like to start offering a Windows binary and/or an installer along > with our source releases. I now have access to a Windows box which I can > put pretty much anything on to, i.e. Qt, WxWidgets, Cairo(?), etc... so > I'm volunteering myself to generate whatever binaries needs to be > generated to make this happen. This has come up several times in the > past and then died off so I'm not really sure where things stand. So, to > start, what needs to be done to provide a minimalist version of PLplot > with the basic windows drivers (wingcc?) with working C examples? Do we > need to provide both MinGW and Visual Studio versions of the dlls?
Thanks for resurrecting this good idea. Note, binary distributions of PLplot were problematic for CPack (an empty tarball was produced) when I tried that capability several years ago. There was a workaround for the problem at that time, but I cannot remember the details. That issue may be fixed now, but before you get too far into planning this you should try some experiments with cpack to make sure it works the way you expect (i.e., it packages up the install tree). There are a number of cpack articles in the cmake wiki which should be a big help to you in learning how to use cpack to create a binary release. You can find those articles by using the search box of the wiki to look for everything related to "cpack". (That's how I found the list of CPack binary package formats discussed below.) Also note that my new CMake-based build system for the installed examples _should_ work on Windows (unlike the traditional Makefile+pkg-config approach) so it should be quite useful for Windows users of your planned binary package. But as far as I know, it hasn't been tested yet by our developers with access to a Windows box so it may need some additional work for that platform. > > I think an official looking Windows installer might be a nice feature > and I was looking at WiX (http://wix.sourceforge.net/) as one option. > Any suggestions here? Or is what we are installing simple enough so that > a .zip file is sufficient and we shouldn't bother with an installer? To start, I would just go with what CPack provides. See http://www.cmake.org/Wiki/CMake:CPackPackageGenerators. Wix is not on that list of binary package formats, but if you do a google for wix and cpack you will see there is quite a bit of interest so I assume eventually it will be available as a cpack option (or you might want to create that option yourself with the appropriate CMake scripts for cpack). Note, that CPack simply packages what is in the install tree. That is the normal approach used for Linux binary packages, and I think we should stick with that approach. You may get some call to include external libraries which the PLplot core library or the PLplot device drivers depend upon, but I would suggest you will want to resist that pressure because it would make the binary release of PLplot enormous! If you just take the qt/lib part of the Qt4 SDK download, that requires 351M (!), and I assume the pango/cairo stack of libraries has a similar size. I haven't tried it, but I believe if you went with a pure static library build, then our libraries and device drivers would only have the subset of Qt4 code we need embedded, but there would be much duplication of that (and lots of other library) code so that approach is unlikely to give you a net benefit in terms of size. This binary packaging issue has long since been settled for Linux distributions; shared library builds are the defacto standard to save on size, and furthermore, the user is expected to install the (shared) libraries he needs to make your shared libraries and shared objects (dynamic device drivers) work. I think that is the right way to go (assuming you educate Windows users about this binary packaging perspective by giving them good directions about exactly what libraries a binary release of PLplot needs, and where those libraries can be found), but those with actual Windows experience may have a quite different perspective than mine. :-) Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------------ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel