On 2016-05-13 09:10-0000 Wadud Miah wrote: > I honestly really despise CMake as it hides so many important flags. I know Autools has been around for some time, but I don't think there is anything wrong with it. I find it highly flexible, configurable and easy to use. If you could move PLplot to Autotools, that would be a big win :-)
Hi Wadud: I have to respond to your above negative reaction to CMake, but I will try to be gentle. :-) Also, I have decided to answer you on list because there is some background material here that some of our newer developers might not be aware of. To answer your specific concern and to also to publicize this extremely useful option for all developers on this list, CMake does hide information by default, but it is straightforward to obtain all flags that are used (at least for the "Unix Makefiles" generator that is default on Unix systems) by using the the VERBOSE=1 option on make, e.g., make VERBOSE=1 all when CMake is used to configure those Unix Makefiles. So the next time you are frustrated by cmake results that seem hidden from you, try that make option to see _exactly_ what is going on. Here is the longer story of our conversion from an autotools-based build system (ABBS) to a CMake-based build system (CBBS). I was the second-most active maintainer of our ABBS a decade ago, and at that time I was willing to struggle indefinitely with its many problems (e.g., different languages for different components of the system, very slow to configure and build, lots of cross-platform issues, and lots of consistency issues every time there was a new autotools release). However, I then read an article about KDE's conversion from autotools to CMake (motivated by all those autotools issues I mentioned above). That article demonstrated how the KDE developers all quickly fell in love with their new CBBS once they got a chance to play with it. So I started speculating on this mailing list about what might be possible with a CBBS for PLplot, and Rafael (Rafael Laboissiere was our chief Autotools guru) challenged me to "show him the code". I decided to give CMake a try myself for one minor PLplot library just as a proof-of-concept, and it was amazingly easy and fast compared to Autotools. IIRC, it took me only a few hours to understand the CMake syntax starting from scratch and implement that proof of concept. And the nice thing is that CBBS and ABBS can coexist (with some care about naming the supporting *.in configuration template files) so I could commit that working proof of concept CBBS without disrupting our ABBS. I then followed up in the next few weeks (with help especially from Arjen, Werner, and Andrew who were all enthusiastic about the potential of a CBBS) with adding the remaining PLplot components existing at that time to our CBBS. Understandably (since he had so much invested in our ABBS) Rafael was not willing to help develop that CBBS, but to his credit he did not blight my initial ideas by saying something like "I will never support that or go along with that". Instead, Rafael (rightly) got tired of the speculation about what _might_ be possible with CMake and challenged me to "show him the code". So I did, the advantages were immediately obvious to the rest of our developers, and within a year after that first proof of concept we were dropping our ABBS because Rafael did not have time/energy to keep up with what was possible with our CBBS. Of course, since then our CBBS has developed very far beyond what was possible with our ABBS a decade ago before we abandoned the ABBS approach. Of course, before 2006 or so virtually every open-source project had an ABBS and most still do because of inertia. That inertia is completely understanable since it is certainly a non-trivial amount of work to convert from an ABBS to a CBBS. Thus, if some Autotools guru is willing to do all that work necessary to support an ABBS, more power to him. But if cannot keep up with existing development or if developers are tired of issues with their ABBS, then they should consider implementing a CBBS. When they do make that large investment, they will be rarely disappointed since their new build system will typically be faster, will be much more powerful and flexible, will have better cross-platform support, and will be easier to maintain than the equivalent ABBS. To summarize, your suggestion to move back to an ABBS has fallen on somewhat stony soil. :-) The reason for that is we had a chance to do a head-to-head comparison between a new CBBS that had been developed for a month or so and an ABBS alternative that had been developed for many years, and there was absolutely no contest. So I would encourage you to give CMake a second chance especially now that you know about that VERBOSE=1 option. :-) 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); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); 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 __________________________ ------------------------------------------------------------------------------ Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel