[CMake] cmp0026, file(GENERATE...), and configure_file

Alan W. Irwin irwin at beluga.phys.uvic.ca
Thu Apr 23 07:32:29 EDT 2015


On 2015-04-23 04:19-0700 Alan W. Irwin wrote:

> On 2015-04-23 06:47-0400 David Cole wrote:
>
>> Should it be configure_file(GENERATE or file(CONFIGURE_AND_GENERATE ??
>
> The first (or configure_file_generate, see below) would be my preference.
>
>> In the meantime, while it is certainly clumsy to do the two separate
>> commands everywhere, you could write a CMake language
>> function(configure_file_generate ...) that takes the same args as
>> configure_file, but does the two step in its implementation.
>
> That is a good idea that should be straightforward for me to implement
> as part of the PLplot build system.
>
> Is there a standard way such a function could be used officially as
> part of CMake?  In other words, are there some official CMake
> functions now that are not written in C++ but are instead written as
> CMake language functions?

I am still curious about the answer to that question in the general
sense, but I have had second thoughts about distributing this
particular solution that way because the CMake function approach for
dealing with this issue still generates the extra file (which is OK
but not ideal). Therefore, I would prefer that official CMake just
used the configure_file(GENERATE) approach if/when that is
implemented.

Of course, for those interested in this interim solution, they will
still have access to the configure_file_generate CMake function via
the LGPL'd PLplot build system.

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
__________________________


More information about the CMake mailing list