[cmake-developers] Using reflinks during install phase

Alessandro Di Federico ale at clearmind.me
Mon Jun 2 09:40:45 EDT 2014


On Mon, 02 Jun 2014 08:44:25 -0400
Brad King <brad.king at kitware.com> wrote:

> On 05/30/2014 06:27 PM, Alessandro Di Federico wrote:
> > currently there's no FS-independent syscall  
> [snip]
> > I'd go for detecting if `cp` is from GNU coreutils and if it's
> > recent  
> 
> I think this is the simplest approach for now.  How do you propose
> to do the detection?  Run "cp --help" and check for "reflink" in the
> output?

I suggest to check version from `cp --version`, simply looking for
"--reflink" in the help introduces the risk of matching version having
"--reflink" but not "--reflink=auto".

I'm very new to CMake code base, what is the most appropriate location
for a check like this?

BTW: I've been told that in future reflinks and server-side copies
(useful for network file systems such as NFS and Samba) will be handled
in a single way at VFS level. If such an API emerges we can think to
integrate it, but for now `cp --reflink` is for sure the simplest and
most future-proof solution.

--
Ale



More information about the cmake-developers mailing list