[sword-devel] OS X/iPhoneOS based development

Dmitrijs Ledkovs dmitrij.ledkov at ubuntu.com
Mon Jun 14 16:45:06 MST 2010

On 15 June 2010 00:30, Nic Carter <niccarter at mac.com> wrote:
> Hehe - now you see why Manfred and I quite enjoy Xcode... ;)

yeah it looks promising. All I can think about is how to run DTrace
(aka Instruments) against everything I build to magically show me
where to optimize my code =)

> I am personally not interested in a nice framework like you are talking about, as PocketSword wants to be as small as possible given it is installed on a mobile device.  So I don't need the cross-platform & -arch stuff that you want to do. But I love the sound of it. :)

the point is, if done right it will be easy to add objc wrappers
around it. (BTW what is the state of the Objc++ bridge?)

You can always build optimised framework targetting just e.g. iOS4 it
would be just another build configuration =) and by building it from
same source, i.e. same / similar xcode project.

Are you doing MacSword as well?

> But, apple have tried to make Xcode work nicely with make/cmake tools & the cmake guys have then taken advantage of that and made cmake do what you have seen. :)
> Sorry I'm coming in at the end of this discussion - timezones can be interesting! But I'll try to help answer any other questions you have about Xcode - you could also take a look at the PocketSword setup on bitbucket? But now that you can see a nice and big and complicated Xcode project, hopefully that helps you understand how it all works.  :)

bitbucket =) hg nice. Rumor has it Xcode 4 has git integration, but
it's just whispernet as everyone who has it is under NDA.

> Thanks, ybic
>    nic... :)
> ps: Manfred: I owe you several emails - sorry, will try to reply when I get home tonight! :)
> On 15/06/2010, at 8:52, Dmitrijs Ledkovs <dmitrij.ledkov at ubuntu.com> wrote:
>> WOW
>> I'm not quite sure but it's either CMake is amazing or Xcode is
>> amazing or both of them totally rock. And probably Gregory for doing
>> awesome job in doing this port.
>> it looks like it is doing out of the tree builds so i can have
>> Makefile cmake generator in one dir and xcode generator in another dir
>> and use them by mix and matching.
>> From faq of cmake there are loads of simple parameters you can set to
>> get it xcode projects for any arches/sdk's you want/need.
>> Furthermore the generated xcode project is in subdir but it doesn't
>> copy over source files instead they are referenced to the source dir
>> from where cmake was run. So anything I edit in xcode is editing the
>> svn checkout.
>> The source tree in xcode project looks about the same as the checkout.
>> But the targets are structured wonderfully. You get the dynlib target,
>> when you click on it it shows all the source files which are needed to
>> build that target only. And every single little tool has it's own
>> target and it depends on libsword target and lists only it's own
>> sourcecode. Naturally there is the almightly "build everything" target
>> =)
>> The best bit is probably that the xcode project is linked back to
>> cmake. Each target has pre & post rule in xcode to talk back to cmake
>> and reconfigure on the fly.
>> And finally the actually compile uses Xcode built-in rules so I get
>> all xcode features, as if I defined the xcode project from scratch /
>> by hand. So i get xcode precompiled headers, pre-binding, caching and
>> parallel builds and can run debugger, DTrace and all that jazz against
>> it.
>> If CMake does the same for Visual Studio then hands-down cmake rocks
>> and sword really needs it if we want to seriously push into mobile
>> device.
>> I think it will be easy enough to create my dream sword.framework
>> using this, since by the looks of it I'll just define a separate
>> project, import the library from this cmake-xcode project and play
>> around with it to turn in into a framework. Although I'm gonna start
>> with cmake first cause probably we can tweak it into turning
>> sword.dynlib into framework =)
>> /me is probably gonna switch xiphos to cmake as well =)))))) for the
>> sake of buidling on mac at least =)
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page

More information about the sword-devel mailing list