[cmake-developers] Getting a list of files to install and their destination

Stephen Kelly steveire at gmail.com
Thu Sep 5 08:14:47 EDT 2013


Hi there,

On the QtCreator list recently there was a discussion about installing 
projects which use cmake to device targets:

 http://thread.gmane.org/gmane.comp.lib.qt.creator/8995

The want to transfer files without invoking make install. I think the only 
reason for that is because it could be a lengthy operation (with cmake I'm 
not so sure - I think cmake doesn't reinstall something that is not 
changed). 

Additionally, my several points that installation may be necessary were not 
addressed:

 http://thread.gmane.org/gmane.comp.lib.qt.creator/8995/focus=8997
 http://thread.gmane.org/gmane.comp.lib.qt.creator/8995/focus=9008

The solution they seem to want to require is maintaining the list of files 
to install in parallel to the install() commands.

I was wondering if there was some way that cmake could generate a list of 
files and destination for them with a built-in make-target? I guess the 
limitation of that is that install(SOURCE) and install(CODE) can do 
arbitrary things. I've never used them, but presumably they would use 
file(COPY) to put files in the installation location using 
${CMAKE_INSTALL_PREFIX} ? That probably makes the built-in make-target to 
generate a list of files and destinations a non-starter.

Am I right in saying that even for remote deployment, cmake will not 
transfer files which are not changed? And therefore the worry about that 
from the creator folks is unfounded? And the only solution that actually 
works for them is installing to a tmp location, given the possible existence 
of install(SCRIPT) and install(CODE)?

Thanks,

Steve.




More information about the cmake-developers mailing list