[Qt-creator] Making CMake and Remote Linux work together

Christian Kandeler christian.kandeler at digia.com
Wed Jul 10 10:55:57 CEST 2013


On 07/09/2013 07:13 PM, Oleksii Serdiuk wrote:
> 2. https://codereview.qt-project.org/60674
>
> A second issue is with deploying binaries extracted from build targets.
> CMake plugin creates a separate binary target for every executable and
> library that will be built, but uses "all" target for building. Also,
> you can exclude some targets from being build by "all". Unfortunately,
> there is no dependency information available in the plugin (and also in
> the Code Blocks file it generates) so it's not possible to know which
> targets will be built by issuing "make all". This means that if you put
> all binary targets into the deployment list and at least one of them was
> excluded from "all", the deployment will fail due to non existing file
> (it just wasn't built).
>
> I overcame this limitation by adding a way to specify whether
> DeployableFile is enabled (DeployableFile::isEnabled() and
> DeployableFile::setEnabled() members) and adding checkboxes to "Files to
> deploy" list. User can uncheck the specific file and it won't be
> deployed by the Remote Linux plugin. But Christian Kandeler said that he
> doesn't like this concept because build system should take care of such
> things.

Yes. Splitting the responsibilities here is weird and will cause all 
kinds of problems and unexpected behavior due to potential 
inconsistencies. For instance, renaming a disabled target will cause the 
respective target to be enabled again if it was disabled, because the 
list stored in the Creator settings will still have the old name (which 
is now a dead entry and will stay there forever).


Christian



More information about the Qt-creator mailing list