<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">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&nbsp;<a href="http://www.cmake.org/cmake/help/cmake-2-8-docs.html">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">http://www.cmake.org/Wiki/BundleUtilitiesExample</a></div><div><a href="http://www.cmake.org/Wiki/CMake#CPack">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. &nbsp;I know this is my own problem, first and foremost. &nbsp;So I'm exposing myself to potential criticism here since RTFM and "get a clue" are probably the biggest part of fixing my problem. &nbsp;Im not really asking for specific help on my code - I might ask for that later. &nbsp;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>A few suggestions:</div><div><ul class="MailOutline"><li>More CPack example and tutorials would be very helpful. &nbsp;I see from archive searches that I'm not the first to suggest this. &nbsp;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. &nbsp;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. &nbsp;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. &nbsp;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. &nbsp;Oh, and what are bundle keys?</li><li>More meta docs please. &nbsp;Somewhere in my stumbling I found a decent diagram about how the ExternalProject module works. &nbsp;I think it was on the wiki, but I can't find it now. &nbsp;I would die for something similar that shows what install does and how it integrates with CPack. &nbsp;Same goes for BudleUtilities and other modules I've yet to discover.</li></ul></div><div><br></div><div>One final comment, cmake is elegant in the extreme. &nbsp;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. &nbsp;Impressive I'm sure. &nbsp;But harder to grok. &nbsp;I'm not suggesting that this is a wrong choice. &nbsp;But it is a barrier to learning. &nbsp;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. &nbsp;The need for careful quoting in install(CODE ) blocks is a case in point. &nbsp;I'm sure this folding into a canonical, unified single CMakeLists.txt source is a good thing. &nbsp;But right now I feel like I'm learning Lisp again. &nbsp;Kind of mind blowing. &nbsp;Wishing I had some better training wheels to break this down for me...</div><div><br></div><div>Thanks for your indulgence. &nbsp;I hope this does not offend those who've put so much into this great tool.</div><div><br></div><div>KC Jones</div><div><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><a href="mailto:kc.jones@skype.net">kc.jones@skype.net</a></div><div>SkypeId: bernalkc</div></div>
</div>
<br></div></div></body></html>