[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