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

David Cole DLRdave at aol.com
Thu Apr 23 07:34:46 EDT 2015


Of the modules, many of the "non-Find*" modules are exactly that. Of
the list here:

http://www.cmake.org/cmake/help/v3.2/manual/cmake-modules.7.html

The ones that pop out to me as obvious "CMake language function
providers" are ExternalProject, GetPrerequisites, BundleUtilities,
ProcessorCount. Mostly they're obvious to me because I have history in
each of those files.

The general convention to follow is, public functions in a module
should begin with the module name, followed by an "_", followed by the
function name. -- i.e. ExternalProject_Add is the "Add" function in
the ExternalProject module.


HTH,
David C.




On Thu, Apr 23, 2015 at 7:19 AM, Alan W. Irwin
<irwin at beluga.phys.uvic.ca> 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?
>
>
> 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