[Qt-creator] Remote Linux plugin and CMake

Christian Kandeler christian.kandeler at digia.com
Wed Aug 21 15:58:16 CEST 2013


On 08/21/2013 03:21 PM, Stephen Kelly wrote:
> 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.

Then "make install" is the "preparatory" step here for deploying the 
directory, but currently the build system plugins do not interfere with 
deployment at all, apart from providing information about which files to 
deploy. So the question is how to arrange it that the two plugins share 
the responsibility of creating the deploy steps, and whether that is 
even possible without them knowing about each other (or at least one 
knowing about the other).

>> 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?

Yes.

>> 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
>
> or
>
>   DESTDIR=/tmp/foo cmake -P cmake_install.cmake
>
> ?

It could do a lot of things, but the question is from where it would get 
the information about what to do (and when and where).

> 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.

I assume it is also possible to be write the project files in such a 
"clever" way that it can also not know in advance which files will be 
created?


Christian



More information about the Qt-creator mailing list