[Qt-creator] Remote Linux plugin and CMake

Stephen Kelly steveire at gmail.com
Wed Aug 21 15:21:07 CEST 2013

Christian Kandeler wrote:

> The current implementation of generic deployment support in the
> RemoteLinux plugin expects a list of files and destinations
> (ProjectExplorer::DeploymentData) and simply copies them over to the
> target device via SFTP. It makes no assumptions at all about the source
> of the deployment information (typically some build system).
> The two approaches above seem to require additional, build system
> dependent work: They both need a preparatory step (creating the package
> and installing to a temporary directory, respectively), 

The 'make install' target could also be responsible for creating files which 
need to be deployed. I think installing to a tmp dir is the best solution.

> and the cpack
> approach seems to require an installation step after the files have been
> copied.

I think you mean a step such as extracting an archive after the archive has 
been copied to the device?

> I have trouble seeing how this (especially the latter) could be
> set up automatically without the two plugins, which currently are
> completely decoupled, working tightly together. Am I overlooking
> something?

Are you saying it is a problem for the deployment plugin to do

 DESTDIR=/tmp/foo make install


 DESTDIR=/tmp/foo cmake -P cmake_install.cmake


>> - The project has to generate a file which tells Creator what to deploy.
>> Oleksii Serdiuk has implemented that, and it works like this. The project
>> has to have a CMakeDeployment.txt in the root of the project, which
>> essentially contains a list of files that should be deployed and where to
>> deploy them The benefit here is, that Oleksii already wrote a patch, and
>> that we could use the same file format also for the generic and autotools
>> projects.
> This approach does not have the above-mentioned problem.

It does have the problem of redundant maintanence of that file (manually).

CMake can't really just give you a list of files to install, because as I 
said above, some files don't exist until make install is run.



More information about the Qt-creator mailing list