[Qgis-developer] QGIS and Xcode
William Kyngesburye
woklist at kyngchaos.com
Sun Feb 1 13:08:25 EST 2009
On Feb 1, 2009, at 10:39 AM, Gary Sherman wrote:
> I know there was some discussion on this in the past. Has anyone
> successfully used Xcode to build QGIS?
>
> -gary
It's certainly possible. I messed around with a Qgis Xcode project
once upon a time. There are 2 approaches:
- quick-n-dirty: run the configure/cmake + make + make install from
Xcode. This doesn't realy gain much over doing the same from a
Terminal, but you can run post-processing and bundling scripts in it,
and it helps to standardize some configuration options that will not
change for OSX. Very easy to maintain, since all configuration and
compilation is external.
- the-right-way: completely redo configuration and compilation to
Xcode methods. This is what I tried for Qgis. It requires keeping
the Xcode project in sync with the cmake method - which source files
to compile, names of targets, ... Xcode doesn't have a wildcard
source specifier - all sources must be explicitly listed in the
project (Qgis may already do that in cmake?). There is no way to use
a list of files from a text file (such as the cmakelists file), except
to create an amalgamation source to be compiled. And a non-Mac
developer couldn't edit the Xcode project file to add or delete
sources, it's a big XML mess. This is what made me drop the Xcode
method.
Dependency configuration is tricky. I came up with a pretty flexible
method to specify dependencies, including handling variations of
framework vs library and static vs dynamic libs, but it still requires
some manual editing of a configuration file.
The Qt stuff could be messy. Custom rules could be made to do the Qt
processing (might be some info in the Qt docs). Or simply use inline
scripts (quick-n-dirty but messy).
But it's much easier to do the packaging (automatic), and could take
care of some of the problematic bits (like bug #768) more reliably.
Bundling of external stuff like the Qt frameworks would also be quite
simple.
For developers, the debugger GUI might be of interest.
Other interesting possibilities are 'frameworkizing' the Qgis
libraries, and otherwise organizing the application package in a more
Mac way (though some of this would require source changes to account
for the paths).
If there is interest, and someone willing to maintain it (requires
keeping track of new/deleted source files), I could work on an Xcode
project. (I might be persuaded to maintain it) Now that the dust has
settled with 1.0, it may be easier to keep an Xcode project maintained.
One problem would be Xcode versions. Each OSX system version has its
own Xcode version. Early versions are importable into later versions,
but I don't know if there is an export feature to go back. I'd be
doing this in Xcode 3 on Leopard, and at a minimum we should support
Xcode 2.5 on Tiger. Though, with their backward compatibility plan
when they released Xcode 2.5 (it will run on Leopard), it's possible
v2.5 can open v3 projects.
-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/
The equator is so long, it could encircle the earth completely once.
More information about the Qgis-developer
mailing list