[Lazarus] Mac OS X (Carbon), executable placement issue

Hess, Philip J pjhess at purdue.edu
Thu Jul 31 17:13:04 CEST 2008


John,

 

Using a symlink to the executable is simply for your convenience in
developing. When it's time to distribute the app, of course you would
want to place the executable inside the .app folder, as follows:

 

rm "myapp.app/contents/macos/irris"

cp -p myapp "myapp.app/contents/macos"

 

Thanks.

 

-Phil

 

________________________________

From: lazarus-bounces at lazarus.freepascal.org
[mailto:lazarus-bounces at lazarus.freepascal.org] On Behalf Of John
Stoneham
Sent: Thursday, July 31, 2008 11:05 AM
To: lazarus at miraclec.com
Subject: [Lazarus] Mac OS X (Carbon), executable placement issue

 

First of all, let me say I'm ecstatic about the progress on the native
Carbon Mac OS X build. I've recently switched to Mac OS X completely (no
Windows at all for me anymore), so finding Lazarus can use native Carbon
widgets was like finding Christmas in July! :) 

One thing that I question, though, is the decision to leave the main
executable of a program outside the app bundle and using a link inside
the app bundle to that executable. For example, lets say you've got a
project called "Testme". In the build directory you will have both the
"Testme" executable and the "Testme.app" bundle. Of course the question
for the end user is "which one do I run?" since they both have the same
filename (the ".app" extension is hidden in the Finder). Running the
"Testme" executable from the command line doesn't work (oh, it runs, but
it is inaccessible to mouse or keyboard input and must be stopped with a
killall command). Running "Testme.app" does work fine (when using "open
Testme.app" at the command line or double-clicking on it from the
Finder). But leaving the main executable outside the bundle is
non-standard and could cause problems for the end user, e.g. when
double-clicking on the "Testme" executable instead of "Testme.app" since
the ".app" is hidden in the finder. And it will look to the end user
like there are two programs (or at least two files) with the same name.
Instead of this approach, the "Testme" executable should be placed
inside the "Testme.app" bundle at "Testme.app/Contents/MacOS/Testme".
IMHO, the build process should place the executable in the proper
location and not simply use a link.

Regardless, I'm very impressed with the progress so far, and I'm looking
forward to using Lazarus on Mac OS X for a long, long time.



-- 
_| () |-| |\|

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20080731/cc6445c4/attachment-0007.html>


More information about the Lazarus mailing list