[Qgis-developer] Mac users: comments wanted on Xcode project
William Kyngesburye
woklist at kyngchaos.com
Fri Apr 10 17:53:16 EDT 2009
Well, for a while now, I've been keeping an eye on commits and
updating the Xcode project (in trunk/v1.1) as needed. It's gone quite
smoothly, except for large commits getting filtered out of the commit
list so that I miss them for a while.
But, except for one person that's had some trouble with it (resolved)
and given me a few ideas that I've implemented, the Mac users and
developers have been pretty quiet. Have the Mac folk tried using the
Xcode project to build Qgis? I would like to hear some feedback.
Some things in particular to think about:
- Does the configuration make sense? Is it simple enough to not scare
people away? It's a manual configure by editing a text file, though
out of the box it should work with my frameworks and a few standard
extras without any config edits.
The current configuration also does not verify dependencies. But for
many cases, this is unnecessary, like system libraries, because it's
not trying to understand many very different systems, only OSX. If
something isn't found where expected or configured, you won't find out
until the build fails.
A configure script is on my list of things to look into. Maybe it's
possible to hook into the cmake configuration, that would be nice...
- Most optional features are requirements in the Xcode project due to
the lack of conditional sources (for things where a complete source
file is added to core or gui components). Plugins are optional in a
manual fashion - select the target and build. Source fragments are
conditional in the usual #ifdef manner. This could be used to wrap
optional sources into an #ifdef + #include, if there is interest in
having the same configurability as the cmake build, but I'm not sure
it would work for moc sources.
- Debugging - has anyone tried debugging Qgis from the Xcode GUI? I
don't know much about it, though I did debug a program once in Xcode
(or, I successfully started the debugging process, but didn't
understand the output enough to track down the problem).
- Bundling - I've tested bundling of dependencies in the default
framework-based configuration + a couple libraries where needed. I
haven't tried an all-in-one bundling of only libraries, like Tom's
build. It should work. It's even possible to bundle frameworks
(other than the Qt frameworks, which are always bundled) for a
framework-based all-in-one, but I haven't had a chance to test this.
There is also an option to bundle extra non-Qgis files. This was
necessary for a PyQt addon (Qwt5) needed for a plugin. I found that
this PyQt addon (possibly others) must be in the PyQt namespace, thus
must be bundled with PyQt in Qgis. This is unfortunate as it goes
against OSX conventions that addons/plugins/... should not be added to
an application package as a separate installation, but instead be
installed in a known plugin location for the app (Qgis python plugins
do this, of course). So, in this case, you couldn't add a plugin
based on Qwt5 to a standard distributed Qgis app.
-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/
All generalizations are dangerous, even this one.
More information about the Qgis-developer
mailing list