On Wed, Dec 16, 2009 at 1:48 AM, Michael Wild <span dir="ltr">&lt;<a href="mailto:themiwi@gmail.com">themiwi@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
On 15. Dec, 2009, at 23:46 , Glenn Hughes wrote:<br>
<br>
&gt;&gt; I think the SDL developers are just being a bit &quot;too&quot; slick. They are setting up SDL for Xcode development where typically you would link to the SDL and then have a &quot;Copy Files Phase&quot; where you copy the framework into the Application Bundle that resides in the build directory.<br>

&gt;<br>
&gt; Its a cultural difference also. Mac developers think of creating the<br>
&gt; complete application as part of the build process. A Mac app generally<br>
&gt; contains everything it needs so you can just drag it to another<br>
&gt; machine and run it. I would never want a half-baked app that is wired<br>
&gt; into my machine. Copying the libraries into the app isn&#39;t part of<br>
&gt; &quot;installation&quot;, its part of &quot;building&quot;... Copying the app somewhere<br>
&gt; else is &quot;installation&quot; i.e. a no-op as far as my build process is<br>
&gt; concerned.<br>
&gt;<br>
&gt; G<br>
<br>
</div>In the case of OS X bundles, don&#39;t think of it like &quot;installation&quot;. It&#39;s more like &quot;finishing up&quot;.<br>
<br>
How about adding some logic to target_link_libraries that writes a file, similar to depend.internal, mapping the install-name of the linked libraries to their location (if a full path has been used for linking). This file could then be used by BundleUtilities.cmake. Probably one would need to black-list certain directories (such as /System/Library/Frameworks), or is this already done?<br>

<font color="#888888"><font class="Apple-style-span" color="#000000"><font class="Apple-style-span" color="#888888"><br></font></font></font></blockquote><div><br></div><div>BundleUtilities avoids copying &quot;system&quot; files -- they are expected to be installed everywhere by virtue of the fact that they &quot;belong&quot; to the OS. Files in /System do not get copied in by default with the BundleUtilitles fixup routines.</div>
<div><br></div><div>Most of our examples of using BundleUtilities occur at &quot;make install&quot; time via cmake scripts, but you could just as easily use them as part of a post-build custom command step on your bundle, as long as all of the dependent pieces are ready to be assembled.</div>
<div><br></div><div>HTH,</div><div>David</div><div><br></div></div>