[CMake] OS X Bundle startup command

Tobias Sauerwein cgtobi at gmail.com
Fri May 29 15:13:07 EDT 2009


Hi Tim & Michael,

Thanks for looking into this. The idea to install the applet to ../MacOS
works fine. Now I just have to get the linking fixed and the bundle should
be working.

Thanks a lot.

Cheers,
Tobias

On Fri, May 29, 2009 at 8:23 PM, Timothy M. Shead <tshead at sandia.gov> wrote:

> Michael Jackson wrote:
>
>>
>>
>> On May 29, 2009, at 11:49 AM, Timothy M. Shead wrote:
>>
>>  Tobias Sauerwein wrote:
>>>
>>>> Hi Everyone
>>>> In my attempt to get cmake/cpack to produce a propper OS X bundle,  I
>>>>  hit a problem. We use a launcher script written in applescript  which  is
>>>> compiled in the build process. Before producing the  bundle with  cpack we
>>>> simply copied the compiled 'applet' file over  to the actual  bundle. When I
>>>> set CPACK_BUNDLE_STARTUP_COMMAND to  point to the  applet it is getting
>>>> copied over but renamed to the  bundle name. Can  I prevent that somehow or
>>>> can I run a script  right after cmake/cpack  has finished putting the bundle
>>>> together  to do some final touches?
>>>>
>>> Tobias:
>>>
>>> My experience when I was writing the bundle generator was that the
>>>  startup command only worked if it matched the bundle name. From your
>>>  question there must be some way to control what gets executed when a  user
>>> double-clicks the bundle.  Info.plist?
>>>
>>> Cheers,
>>> Tim
>>>
>>> --
>>> Timothy M. Shead
>>> Data Analysis & Visualization (1424)
>>> Sandia National Laboratories
>>> 505-284-0139
>>>
>>
>> from inside the info.plist:
>>
>>        <key>CFBundleExecutable</key>
>>        <string>QImporter_debug</string>
>>
>> You can set that to what ever you want. I'm pretty sure that the
>>  executable _should_ be in the "MacOS" directory otherwise you can  probably
>> put in a relative path: "../bin/myexecutable"
>>
>
> Cool ... so I think a workable solution for Tobias would be to leave
> CPACK_BUNDLE_STARTUP_COMMAND empty, ensure that the Info.plist specified
> with CPACK_BUNDLE_PLIST runs the correct applet file, then use
>
> INSTALL(FILES /path/to/applet DESTINATION ../MacOS/applet)
>
> to put the applet where it belongs in the bundle, without renaming it.
>
> Since the bundle generator relies on the user to generate their own
> Info.plist anyway, it sounds as if renaming the startup command is
> heavy-handed and should be replaced with a straight copy.
>
>
> Cheers,
> Tim
>
> --
> Timothy M. Shead
> Data Analysis & Visualization (1424)
> Sandia National Laboratories
> 505-284-0139
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090529/fefb5cb9/attachment-0001.htm>


More information about the CMake mailing list