Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Build Update

On 10 Mar 2010, at 14:26, Michael Jackson wrote:
> Just FYI <http://www.itk.org/pipermail/insight-users/2010-March/035675.html> is the start of an email thread with a new CDT user coming from Xcode and trying to get everything setup correctly. Might be enlightening to see what someone is going through.

Eclipse apps are laid out in a (somewhat peculiar) folder structure which has implications on how they're run/debugged. For example, if I'm building a GUI application (i.e. not a simple command line tool) then the folder structure needs to look like:

Foo.app/Contents/MacOS/Foo

There's also other metadata that is used with the application, like the Info.plist, and where Resources are loaded from, which need to be in particular places:

Foo.app/Contents/Info.plist
Foo.app/Contents/Resources/Foo.icns

The Info.plist also contains relative paths that point to some of these. 

Furthermore, dynamically linked libraries on Mac use DYLD_LIBRARY_PATH to specify which folder(s) to search for library look ups, rather than LD_LIBRARY_PATH on Unix. So this would be need to be set by the launch configuration if you were building (and subsequently using) a dynamic library.

Note that Xcode spits out a folder structure that has all of these, and from Finder, Foo.app just shows up as a double-clickable icon in Finder (and most often, without the .app being displayed). Yet you can have an (empty) directory called Foo.app which will be shown the same way, but won't be launchable as it's missing the innards.

Unix - and to a lesser extent, Windows - doesn't have any such constraints on the folder structure. On the other hand, they also don't have a single drag-and-drop of an icon to install a program, either :-)

Alex

http://developer.apple.com/mac/library/documentation/corefoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html

http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/dyld.1.html

Back to the top