<div class="gmail_quote">On Tue, Dec 22, 2009 at 11:29 AM, Brian Davis <span dir="ltr">&lt;<a href="mailto:bitminer@gmail.com">bitminer@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
&lt;snip&gt;<br><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">

<div>
&gt; There will never be an easy way to pull external projects directly into a<br>
&gt; calling project because the external things are not even guaranteed to be on<br>
&gt; disk yet at configure time of said calling project.<br>
<br>
<br>
</div>Yeah, kind of a chicken-egg problem...<br></blockquote><div><br></div></div>
<div>Exactly. That&#39;s why we didn&#39;t try to solve that problem. If you have a chicken-egg problem to solve, you have to choose starting with a chicken or an egg, thereby alienating approximately 50% of your audience, even if you have good reasons for your choice.</div>

</div></blockquote></div><div>&lt;snip&gt;<br><br>I like cake.  I like eating it too.  Mmmm cake! </div></div></blockquote><div><br></div><div>One could argue that CMake itself is simply a horrific misspelling of &quot;Mmmm cake&quot;... And that cmake-gui is like cmake with frosting.</div>
<div><br></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>Cmake may not *know where the third party is when it configures*, but it *knows where it will be*.  The build will/could take care of the rest. Correct?</div>
</div></blockquote><div><br></div><div>I think &quot;could&quot; is fairly optimistic actually. It would be possible if you had perfect knowledge of the install tree of each and every project you&#39;re depending on. But some of the details are not known by CMake until after that project is built and installed. We allow people to write their own arbitrary stuff into their *Config.cmake files... so it ends up being arbitrary. And some external projects are actually not even built with cmake. (Gasp!)</div>
<div><br></div><div>CMake will never provide the perfect solution to this problem. However, if you are willing to do the work necessary, it would certainly be possible for your project to pre-define stuff in such a way as to make it &quot;do-able&quot;. It might not be fun, but it could be possible.</div>
<div><br></div><div>:-)</div><div><br></div><div>Good discussion on all this stuff today. This has been a fun day so far. </div><div><br></div><div>Thanks to all of you who&#39;ve participated,</div><div>David</div><div><br>
</div></div>