[CMake] Need help with ExternalProject_Add file dependencies
Alan W. Irwin
irwin at beluga.phys.uvic.ca
Thu May 30 16:04:05 EDT 2013
On 2013-05-30 04:16-0700 Alan W. Irwin wrote:
> On 2013-05-30 02:22-0700 Alan W. Irwin wrote:
>
>> Why do two build steps (6 and 7) have to be done to satisfy the file
>> depends after the touch? I must be doing something wrong with the
>> file depends above, but I cannot see what it is.
>
> Actually, this bad behaviour was due to a long-standing (at least from 2.8.0)
> bug in CMake -E touch
> which truncates the time to the nearest second for the file it creates
> rather than using an accurate time. So the time stamp was being
> truncated to a time that was less than the file creation date of
> the copied file with the result that build commands were being
> done twice.
>
> More on the cmake-devel list with a different subject line.
It turns out this CMake -E touch bug has been reported before
http://www.cmake.org/Bug/view.php?id=14020, and the bugfix is close to
being finished (patch available for Unix) but currently backlogged. I
hope this bugfix can be finalized soon because of the
ExternalProject_Add implications.
Finally, I am glad this screwy file dependency issue I discovered with
ExternalProject_Add is completely explained by this bug and is not due
to some error in the CMake logic I have implemented in my
ExternalProject_Add-based "build_projects" project.
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