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

Reply via email to