Tim,<div><br></div><div>Thanks for chiming in.</div><div><br></div><div>Did my suggestion about possibly just modifying the bundle generator to also enable using the &quot;make install&quot; tree as is make sense to you, or does it seem like that should be a separate CPack generator?</div>
<div><br></div><div><br></div><div>David</div><div><br><br><div class="gmail_quote">On Fri, Jan 16, 2009 at 11:25 AM, Timothy M. Shead <span dir="ltr">&lt;<a href="mailto:tshead@sandia.gov">tshead@sandia.gov</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">The problem that I was trying to solve with the bundle generator was how to install complex systems in a cross-platform way. &nbsp;Assume that you have an application &quot;foo&quot; that is run by end-users, plus helper applications &quot;a&quot; and &quot;b&quot; that are run indirectly by foo, and third-party dependencies. &nbsp;You want to package everything in a consistent way on all platforms. &nbsp;So you do<br>

<br>
INSTALL(TARGET foo a b DESTINATION bin)<br>
INSTALL(FILES dependencies DESTINATION lib)<br>
<br>
With *nix and NSIS, this is straightforward and works fine. &nbsp;With bundles, it&#39;s trickier. &nbsp;You don&#39;t want separate bundles for foo, a, and b in this case, you want a single bundle where foo is what gets executed when the user double-clicks on it, but a and b are included where foo can find them. &nbsp;That immediately eliminates the MACOSX_BUNDLE approach off-the-bat, because it creates separate bundles for each executable. Even if you omit MACOSX_BUNDLE for a and b, you still have no mechanism to install them into the bundle created for foo. &nbsp;The same applies to third-party dependencies.<br>

<br>
Thus, the approach taken by the bundle generator is to create a single bundle, populate its contents based on your CMake INSTALL commands, then add the necessary metadata to define *which* binary is executed when end-users click on the bundle, then create the dmg.<br>

<br>
I&#39;ve never run across a dmg that contained multiple bundles, &nbsp;but adding a feature to create multiple bundles based on components sounds like a good idea. &nbsp;I guess that in an ideal world you would like to set per-component properties (if there were such a thing) that could be used by the bundle generator to setup the bundles, but other workarounds should be possible.<br>

<br>
Cheers,<br>
Tim<br><font color="#888888">
<br>
-- <br>
Timothy M. Shead<br>
Data Analysis &amp; Visualization (1424)<br>
Sandia National Laboratories<br>
505-284-0139</font><div><div></div><div class="Wj3C7c"><br>
<br>
_______________________________________________<br>
CMake mailing list<br>
<a href="mailto:CMake@cmake.org" target="_blank">CMake@cmake.org</a><br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
</div></div></blockquote></div><br></div>