[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