[cmake-developers] How to proceed with some Eclipse issues ?
Alexander Neundorf
neundorf at kde.org
Sun Aug 26 12:20:23 EDT 2012
Hi,
there are currently basically two issues left with the Eclipse generator,
which I cannot really fix, since they are caused by issues in Eclipse itself.
I don't really know how to proceed...
Basically they are all caused by the fact that Eclipse does not really support
out-of-source builds, which means for Eclipse projects where the project file
(.project) is not located at the top of the source tree.
To work around this, the Eclipse project generator creates so called "linked
resources" from the build tree pointing to the source tree, they are something
like smybolic links, or virtual folders, i.e. you can click on them in
Eclipse, and they are basically links to some other real directory or file.
There is one such linked resource created which points to the root of the
source tree.
This leads to the following effects
* the build dir cannot be a subdir of the source dir. Eclipse complains in
this case that a linked resource is pointing to a parent directory of the
project directory. This is inconvenient.
* The VCS plugins are not activated in the linked resource to the source tree.
This means svn/git support is not enabled in the generated project. Users need
to open additionally a source-project for using svn etc. I entered tickets for
that in the Eclipse and in the svn-plugin bug trackers several months ago, but
nothing has happened yet.
* Eclipse does not detect if files found in linked resources are actually the
same file. I.e. additionally to the link to the source dir, I also create
links to the project()s in the cmake project, and also virtual folders for
each target, so you can see which source files belong to a target. So each
source file can appear multiple times via the linked resources in a project.
Eclipse does not detect that these files are actually the same. This has the
effect that if I click on a source file in one linked resource, and on the
same again in another linked resource, the file is opened twice, which can
lead to all kind of issues with syncing, saving, etc. Also, when searching
etc., those files are found once for each linked resource they are in.
* Eclipse has the feature of marking a linked resource as a "Derived
resource". Such "derived resources" can be ignored e.g. when searching for
something in the project. Now this seemed like a good way to mark the files in
the per-target linked resources and in the per-project linked resources as
derived, but this doesn't really work for two reasons:
this option is only used by the search, but not by the code-navigation. So
there you still get multiple results. Additionally, the property whether a
linked resource is a derived resource, is not saved in the project file where
the linked resource is defined (and which is generated by cmake), but in some
other place where Eclipse stores user settings. So it is of no use for cmake
:-/
As I see it, all these issues need fixes in Eclipse
* recognize duplicated files in linked resources
* make it possible to use a different directory than the directory containing
the project file as base dir for the VCS plugin
With those two things, I think most issues should be solved.
Now, I don't feel like starting to work on Eclipse myself, and I also have the
impression that filing bug reports does not really have an effect.
Any ideas ?
Alex
More information about the cmake-developers
mailing list