On 2015-05-19 13:20-0400 Tom Kacvinsky wrote: > Alan, > > This is not in regards to plplot proper, but rather the cmake Ada support > bundled with plplot. > > How is add_executable supposed to work? Does it invoke gcc for each > adb/ads file, then call the rest of the GNAT tool chain utilities to > generate an executable, or does it just invoke gnatmake? the reason I ask > is that we aren't listing all of the Ada files necessary to build the > executable, but all of the necessary files end up getting compiled. But > upon a subsequent build, not all Ada files get recompiled, even if they've > changed. I am thinking if gnatmake is used, this change would be detected > and the right thing would happen. > > So, should I be listing all of the necessary Ada files in the > add_executable(<target> <files>) invocation so that no matter what is used > under the hood, recompiles happen when necessary.
Hi Tom: >From memory I am pretty sure that gnatmake is used under the hood for the add_executable case. But the thing to do is to run make VERBOSE=1 (or verbose equivalent if you are building with a non-make generator) to see exactly what commands are being used for the Ada executable build. And to answer your last question, I am virtually positive you should mention all necessary Ada source files in the add_executable(<target> <files>) invocation because that is the way add_excutable is supposed to work in general. But to figure it out for sure try with and without mentioning all Ada source files for VERBOSE=1 to see the exact difference that makes to the build. Sorry that I am being a little vague here, but our own use of Ada language support only uses single files in the add_executable command so I don't know exactly what would happen for multiple files. Furthermore, it has been a very long while since I worked on our Ada language support, and when I implemented that I had very little understanding of CMake language support (and that is still the case). So I converted existing language support for C over to Ada language support using trial and error methods using tests like I suggested above to evaluate whether the results were good enough for our needs. And stopped when that was finally the case. 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 __________________________ ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel