<br><br><div class="gmail_quote">On Thu, Dec 23, 2010 at 1:43 PM, David Cole <span dir="ltr">&lt;<a href="mailto:david.cole@kitware.com">david.cole@kitware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="gmail_quote"><div class="im">On Wed, Dec 22, 2010 at 12:57 PM, KC Jones <span dir="ltr">&lt;<a href="mailto:kc.jones@skype.net" target="_blank">kc.jones@skype.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">

<div style="word-wrap:break-word">Feeling really uneasy about putting this out there, but here goes...<div><br></div><div>I have an app that I am building with cmake (2.8) on both Mac (10.6.40 and Linux (Ubuntu 10.04).</div>

<div>The app depends on some libraries (Qt4.6 (no plugins) and a customized build of Poco).</div><div>I want to generate a DragAndDrop DMG installer on Mac. (a la macdeployqt + Poco lib packaging)</div><div>On Linux, I want a Debian package to install the Poco libs at a minimum along with my executable.</div>

<div>Equivalent Windows installers will be needed someday.</div><div><div><br></div><div>I&#39;ve reviewed the docs at <a href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html" target="_blank">http://www.cmake.org/cmake/help/cmake-2-8-docs.html</a></div>

<div>I&#39;ve reviewed bits and pieces on the wiki:</div><div><a href="http://www.cmake.org/Wiki/BundleUtilitiesExample" target="_blank">http://www.cmake.org/Wiki/BundleUtilitiesExample</a></div><div><a href="http://www.cmake.org/Wiki/CMake#CPack" target="_blank">http://www.cmake.org/Wiki/CMake#CPack</a></div>

<div><br></div><div>And I just don&#39;t seem to get it. I know this is very possible.  I know this is my own problem, first and foremost.  So I&#39;m exposing myself to potential criticism here since RTFM and &quot;get a clue&quot; are probably the biggest part of fixing my problem.  Im not really asking for specific help on my code - I might ask for that later.  For now I just want to vent, hopefully in a constructive way.</div>

<div><br></div><div>I just don&#39;t think that CPack documentation and examples as they currently are published are sufficient or effective.</div><div><br></div></div></div></blockquote></div><div><br>Neither do we:<br>
<a href="http://public.kitware.com/Bug/view.php?id=10067" target="_blank">http://public.kitware.com/Bug/view.php?id=10067</a> <br>
<br><br></div><div class="im"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div style="word-wrap:break-word"><div><div></div><div>A few suggestions:</div>

<div><ul><li>More CPack example and tutorials would be very helpful.  I see from archive searches that I&#39;m not the first to suggest this.  The Qt example is great, but the plugin support is overkill for most, and obfuscates much of the rest of the example.</li>

<li>A step-wise tutorial format that starts with a working build, adds install target support, then adds CPack code would help my addled brain.  Presenting newbies like me with a fully baked end result is helpful, but somewhat hard to digest.</li>

<li>Separating the docs into different namespaces (Cmake, CPack, CTest...) might be more effective.  I struggled a long while before finding the install command docs (which I continue to struggle with). The atomic layout of the docs obscures the module-level relationships.</li>

<li>A glossary, please.  For instance &quot;bundle&quot; comes out of OS X, but now has some CMake-specific meaning for Linux and Win that I know is very important to me, but fully incomprehensible in my reading so far.  Oh, and what are bundle keys?</li>

<li>More meta docs please.  Somewhere in my stumbling I found a decent diagram about how the ExternalProject module works.  I think it was on the wiki, but I can&#39;t find it now.  I would die for something similar that shows what install does and how it integrates with CPack.  Same goes for BudleUtilities and other modules I&#39;ve yet to discover.</li>

</ul></div></div></div></blockquote></div><div><br>As always, as developers we find ourselves constantly working to improve what we have: fixing bugs, implementing new features, answering questions on the mailing list, blogging/communicating about it, adding examples and suggestions to the Wiki.<br>

<br>The struggle is reserving enough time to contribute to documentation when there are always &quot;real&quot; (functional) bugs to be fixed. Perpetual questions: what&#39;s &quot;enough&quot; documentation?, how do we make sure people can find it easily?, how do we name this better (but still preserve the existing names for people already using it / backwards compatibility)?<br>

<br>I make no excuses here: yes, the CPack and CTest documentation are lacking / lagging behind the CMake documentation. However, it will take a very real and concerted and time-consuming effort to improve the situation. With the open source nature of the project, we have to be willing to accept the organic growth that occurs in the code base: the documentation will be the same: it will improve gradually, over time, as contributors are able to improve it.<br>

<br>Until then, at least the mailing list has a reasonable response rate and, it seems, sufficient participation from knowledgeable folks willing to pitch in and answer. So... if you&#39;re confused about something, please ask here.<br>

<br></div></div></blockquote><div>How about a search for the mailinglist archives?</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote">
<div><br></div><div class="im"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div style="word-wrap:break-word"><div><div><br></div><div>One final comment, cmake is elegant in the extreme.  I can see from some of the wiki pages about how install is a merge that canonically folds multiple precursors into one uber-powerful, uber-flexible silver bullet.  Impressive I&#39;m sure.  But harder to grok.  I&#39;m not suggesting that this is a wrong choice.  But it is a barrier to learning.  Where there is this kind of folding of advanced features into basic operations, some care is needed to ensure the docs convey the basics clearly.</div>

<div><br></div><div>WRT Cpack, what I find is that by merging it into CMake, the CPack code is declared one step away from where it is applied.  The need for careful quoting in install(CODE ) blocks is a case in point.  I&#39;m sure this folding into a canonical, unified single CMakeLists.txt source is a good thing.  But right now I feel like I&#39;m learning Lisp again.  Kind of mind blowing.  Wishing I had some better training wheels to break this down for me...</div>

<div><br></div><div>Thanks for your indulgence.  I hope this does not offend those who&#39;ve put so much into this great tool.</div></div></div></blockquote></div><div><br><br>Thanks for your comments and questions. May we quote you on that? (&quot;cmake is elegant in the extreme ... great tool&quot;)<br>

<br>We (I hope I speak for all CMake devs, here) take no offense. We welcome discussion, always.<br><font color="#888888"><br><br>David Cole<br>Kitware, Inc.<br><br><br></font></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div class="im">
<div style="word-wrap:break-word"><div><div><br></div><div>KC Jones</div><div><div><div style="word-wrap:break-word"><div><a href="mailto:kc.jones@skype.net" target="_blank">kc.jones@skype.net</a></div><div>SkypeId: bernalkc</div>

</div>
</div>
<br></div></div></div><br></div><div class="im">_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br></div></blockquote></div><br>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br></blockquote></div>-Johan