<div class="gmail_quote">On Thu, Aug 23, 2012 at 11:50 AM, Robert Dailey <span dir="ltr">&lt;<a href="mailto:rcdailey.lists@gmail.com" target="_blank">rcdailey.lists@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">
<div class="HOEnZb"><div class="h5">On Thu, Aug 23, 2012 at 10:48 AM, Robert Dailey<br>
&lt;<a href="mailto:rcdailey.lists@gmail.com">rcdailey.lists@gmail.com</a>&gt; wrote:<br>
&gt; On Thu, Aug 23, 2012 at 10:43 AM, John Drescher &lt;<a href="mailto:drescherjm@gmail.com">drescherjm@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt; Is the separation between configuration &amp; generation really necessary<br>
&gt;&gt;&gt; for cmake-gui? I ask because several of my co-workers are confused<br>
&gt;&gt;&gt; between the differences in the two, even though I explain it.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Honestly there isn&#39;t really a reason that I can think of to do a<br>
&gt;&gt;&gt; configure without a generate, unless you&#39;re testing the integrity of<br>
&gt;&gt;&gt; your CMake script changes maybe, but even then, if its broken<br>
&gt;&gt;&gt; generation won&#39;t take place.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The command line program does not separate the two, so I simply think<br>
&gt;&gt;&gt; cmake-gui should eliminate the configure button, and simply have a<br>
&gt;&gt;&gt; generate button. Does this seem fair? Is there a reason why they are<br>
&gt;&gt;&gt; separated?<br>
&gt;&gt;<br>
&gt;&gt; I can think of one use case that I use that the separation is a good<br>
&gt;&gt; thing. What about when you have options and variables that are<br>
&gt;&gt; conditional depending on other CMake variables so that setting the<br>
&gt;&gt; variables / options may take more than 1 configure.<br>
&gt;<br>
&gt; Well, think of this from the perspective of Linux users. They don&#39;t<br>
&gt; get to configure seperately, so only Windows users get special<br>
&gt; treatment here (and maybe Mac too, since it&#39;s using Qt). Basically, if<br>
&gt; two configures are necessary, you simply just hit the &quot;generate&quot;<br>
&gt; button twice, and the wait may be slightly longer because of the<br>
&gt; generation. However, usually it&#39;s the configure step that takes 99% of<br>
&gt; the time and generation is quick since it&#39;s just spitting out files to<br>
&gt; disk it seems.<br>
&gt;<br>
&gt; I would also argue that any CMake project should have appropriate<br>
&gt; defaults OR logic to calculate the defaults for you, so that even if a<br>
&gt; user decides to not modify any cache variables, generation should<br>
&gt; always succeed. CMake can&#39;t assume that 2 passes will be necessary<br>
&gt; (and it really shouldn&#39;t).<br>
<br>
</div></div>Oh and also, if two configures are necessary (say that, a library or<br>
package can&#39;t be found intelligently), then the configuration step<br>
would fail and be interrupted, so you get a chance to correct any<br>
errors and adjust appropriate cache variables. So, in this case it<br>
doesn&#39;t really matter if you&#39;ve hit configure or generate.<br>
<div class="HOEnZb"><div class="h5">--<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>
</div></div></blockquote></div><br><div><br></div><div>Iterative configuring through the gui is useful for some people/projects, and generating is time-consuming too on some larger projects with some generators.</div><div>
<br></div><div>So we probably won&#39;t be eliminating the Configure button anytime soon. On the other hand, you can just click &quot;Generate&quot; if that&#39;s what you want and ignore the configure button altogether nowadays. &quot;Generate&quot; will configure-first if necessary, and then generate.</div>
<div><br></div><div>Here are some related issues indicating some people want the exact opposite (i.e., separate configure and generate steps for the command line cmake)</div><div>  <a href="http://public.kitware.com/Bug/view.php?id=13359">http://public.kitware.com/Bug/view.php?id=13359</a></div>
<div><br></div><div>And a request for a &quot;build&quot; button in cmake-gui:</div><div>  <a href="http://public.kitware.com/Bug/view.php?id=8260">http://public.kitware.com/Bug/view.php?id=8260</a></div><div><br></div><div>
<br></div><div>Cheers,</div><div>David</div><div><br></div>