<div class="gmail_quote">On Thu, Aug 23, 2012 at 11:50 AM, Robert Dailey <span dir="ltr"><<a href="mailto:rcdailey.lists@gmail.com" target="_blank">rcdailey.lists@gmail.com</a>></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>
<<a href="mailto:rcdailey.lists@gmail.com">rcdailey.lists@gmail.com</a>> wrote:<br>
> On Thu, Aug 23, 2012 at 10:43 AM, John Drescher <<a href="mailto:drescherjm@gmail.com">drescherjm@gmail.com</a>> wrote:<br>
>>> Is the separation between configuration & generation really necessary<br>
>>> for cmake-gui? I ask because several of my co-workers are confused<br>
>>> between the differences in the two, even though I explain it.<br>
>>><br>
>>> Honestly there isn't really a reason that I can think of to do a<br>
>>> configure without a generate, unless you're testing the integrity of<br>
>>> your CMake script changes maybe, but even then, if its broken<br>
>>> generation won't take place.<br>
>>><br>
>>> The command line program does not separate the two, so I simply think<br>
>>> cmake-gui should eliminate the configure button, and simply have a<br>
>>> generate button. Does this seem fair? Is there a reason why they are<br>
>>> separated?<br>
>><br>
>> I can think of one use case that I use that the separation is a good<br>
>> thing. What about when you have options and variables that are<br>
>> conditional depending on other CMake variables so that setting the<br>
>> variables / options may take more than 1 configure.<br>
><br>
> Well, think of this from the perspective of Linux users. They don't<br>
> get to configure seperately, so only Windows users get special<br>
> treatment here (and maybe Mac too, since it's using Qt). Basically, if<br>
> two configures are necessary, you simply just hit the "generate"<br>
> button twice, and the wait may be slightly longer because of the<br>
> generation. However, usually it's the configure step that takes 99% of<br>
> the time and generation is quick since it's just spitting out files to<br>
> disk it seems.<br>
><br>
> I would also argue that any CMake project should have appropriate<br>
> defaults OR logic to calculate the defaults for you, so that even if a<br>
> user decides to not modify any cache variables, generation should<br>
> always succeed. CMake can't assume that 2 passes will be necessary<br>
> (and it really shouldn't).<br>
<br>
</div></div>Oh and also, if two configures are necessary (say that, a library or<br>
package can'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't really matter if you'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't be eliminating the Configure button anytime soon. On the other hand, you can just click "Generate" if that's what you want and ignore the configure button altogether nowadays. "Generate" 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 "build" 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>