[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
or
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.
Thanks,
Steve.
More information about the Qt-creator
mailing list