<div class="gmail_quote">On Thu, Dec 23, 2010 at 8:23 AM, Johan Björk <span dir="ltr"><<a href="mailto:phb@spotify.com">phb@spotify.com</a>></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;">
<br><br><div class="gmail_quote"><div><div></div><div class="h5">On Thu, Dec 23, 2010 at 1:43 PM, David Cole <span dir="ltr"><<a href="mailto:david.cole@kitware.com" target="_blank">david.cole@kitware.com</a>></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 class="gmail_quote"><div>On Wed, Dec 22, 2010 at 12:57 PM, KC Jones <span dir="ltr"><<a href="mailto:kc.jones@skype.net" target="_blank">kc.jones@skype.net</a>></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'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'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't seem to get it. I know this is very possible. I know this is my own problem, first and foremost. So I'm exposing myself to potential criticism here since RTFM and "get a clue" 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'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><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'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 "bundle" 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'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'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 "real" (functional) bugs to be fixed. Perpetual questions: what's "enough" 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're confused about something, please ask here.<br>
<br></div></div></blockquote></div></div><div>How about a search for the mailinglist archives?</div></div></blockquote><div><br>A typical google search about "CMake stuff" yields mailing list discussions as the top hits the vast majority of the time.<br>
<br>If you want to search *just* the mailing list archives, use:<br>site:<a href="http://www.cmake.org/pipermail/cmake">http://www.cmake.org/pipermail/cmake</a><br><br><br>I really, really don't think we can provide you with a better search experience than Google.<br>
<br>Just sayin'...<br><br><br>Thx,<br>David<br><br><br></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="gmail_quote"><div class="im">
<div><br></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="gmail_quote">
<div><br></div><div><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'm sure. But harder to grok. I'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'm sure this folding into a canonical, unified single CMakeLists.txt source is a good thing. But right now I feel like I'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'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? ("cmake is elegant in the extreme ... great tool")<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>
<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>_______________________________________________<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></div><font color="#888888">-Johan
</font></blockquote></div><br>