cmake-gui's separation between configuration & generation

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

cmake-gui's separation between configuration & generation

Robert Dailey-2
Is the separation between configuration & generation really necessary
for cmake-gui? I ask because several of my co-workers are confused
between the differences in the two, even though I explain it.

Honestly there isn't really a reason that I can think of to do a
configure without a generate, unless you're testing the integrity of
your CMake script changes maybe, but even then, if its broken
generation won't take place.

The command line program does not separate the two, so I simply think
cmake-gui should eliminate the configure button, and simply have a
generate button. Does this seem fair? Is there a reason why they are
separated?
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: cmake-gui's separation between configuration & generation

John Drescher-2
> Is the separation between configuration & generation really necessary
> for cmake-gui? I ask because several of my co-workers are confused
> between the differences in the two, even though I explain it.
>
> Honestly there isn't really a reason that I can think of to do a
> configure without a generate, unless you're testing the integrity of
> your CMake script changes maybe, but even then, if its broken
> generation won't take place.
>
> The command line program does not separate the two, so I simply think
> cmake-gui should eliminate the configure button, and simply have a
> generate button. Does this seem fair? Is there a reason why they are
> separated?

I can think of one use case that I use that the separation is a good
thing. What about when you have options and variables that are
conditional depending on other CMake variables so that setting the
variables / options may take more than 1 configure.

John
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: cmake-gui's separation between configuration & generation

Robert Dailey-2
On Thu, Aug 23, 2012 at 10:43 AM, John Drescher <[hidden email]> wrote:

>> Is the separation between configuration & generation really necessary
>> for cmake-gui? I ask because several of my co-workers are confused
>> between the differences in the two, even though I explain it.
>>
>> Honestly there isn't really a reason that I can think of to do a
>> configure without a generate, unless you're testing the integrity of
>> your CMake script changes maybe, but even then, if its broken
>> generation won't take place.
>>
>> The command line program does not separate the two, so I simply think
>> cmake-gui should eliminate the configure button, and simply have a
>> generate button. Does this seem fair? Is there a reason why they are
>> separated?
>
> I can think of one use case that I use that the separation is a good
> thing. What about when you have options and variables that are
> conditional depending on other CMake variables so that setting the
> variables / options may take more than 1 configure.

Well, think of this from the perspective of Linux users. They don't
get to configure seperately, so only Windows users get special
treatment here (and maybe Mac too, since it's using Qt). Basically, if
two configures are necessary, you simply just hit the "generate"
button twice, and the wait may be slightly longer because of the
generation. However, usually it's the configure step that takes 99% of
the time and generation is quick since it's just spitting out files to
disk it seems.

I would also argue that any CMake project should have appropriate
defaults OR logic to calculate the defaults for you, so that even if a
user decides to not modify any cache variables, generation should
always succeed. CMake can't assume that 2 passes will be necessary
(and it really shouldn't).
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: cmake-gui's separation between configuration & generation

Robert Dailey-2
On Thu, Aug 23, 2012 at 10:48 AM, Robert Dailey
<[hidden email]> wrote:

> On Thu, Aug 23, 2012 at 10:43 AM, John Drescher <[hidden email]> wrote:
>>> Is the separation between configuration & generation really necessary
>>> for cmake-gui? I ask because several of my co-workers are confused
>>> between the differences in the two, even though I explain it.
>>>
>>> Honestly there isn't really a reason that I can think of to do a
>>> configure without a generate, unless you're testing the integrity of
>>> your CMake script changes maybe, but even then, if its broken
>>> generation won't take place.
>>>
>>> The command line program does not separate the two, so I simply think
>>> cmake-gui should eliminate the configure button, and simply have a
>>> generate button. Does this seem fair? Is there a reason why they are
>>> separated?
>>
>> I can think of one use case that I use that the separation is a good
>> thing. What about when you have options and variables that are
>> conditional depending on other CMake variables so that setting the
>> variables / options may take more than 1 configure.
>
> Well, think of this from the perspective of Linux users. They don't
> get to configure seperately, so only Windows users get special
> treatment here (and maybe Mac too, since it's using Qt). Basically, if
> two configures are necessary, you simply just hit the "generate"
> button twice, and the wait may be slightly longer because of the
> generation. However, usually it's the configure step that takes 99% of
> the time and generation is quick since it's just spitting out files to
> disk it seems.
>
> I would also argue that any CMake project should have appropriate
> defaults OR logic to calculate the defaults for you, so that even if a
> user decides to not modify any cache variables, generation should
> always succeed. CMake can't assume that 2 passes will be necessary
> (and it really shouldn't).

Oh and also, if two configures are necessary (say that, a library or
package can't be found intelligently), then the configuration step
would fail and be interrupted, so you get a chance to correct any
errors and adjust appropriate cache variables. So, in this case it
doesn't really matter if you've hit configure or generate.
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: cmake-gui's separation between configuration & generation

David Cole
On Thu, Aug 23, 2012 at 11:50 AM, Robert Dailey <[hidden email]> wrote:
On Thu, Aug 23, 2012 at 10:48 AM, Robert Dailey
<[hidden email]> wrote:
> On Thu, Aug 23, 2012 at 10:43 AM, John Drescher <[hidden email]> wrote:
>>> Is the separation between configuration & generation really necessary
>>> for cmake-gui? I ask because several of my co-workers are confused
>>> between the differences in the two, even though I explain it.
>>>
>>> Honestly there isn't really a reason that I can think of to do a
>>> configure without a generate, unless you're testing the integrity of
>>> your CMake script changes maybe, but even then, if its broken
>>> generation won't take place.
>>>
>>> The command line program does not separate the two, so I simply think
>>> cmake-gui should eliminate the configure button, and simply have a
>>> generate button. Does this seem fair? Is there a reason why they are
>>> separated?
>>
>> I can think of one use case that I use that the separation is a good
>> thing. What about when you have options and variables that are
>> conditional depending on other CMake variables so that setting the
>> variables / options may take more than 1 configure.
>
> Well, think of this from the perspective of Linux users. They don't
> get to configure seperately, so only Windows users get special
> treatment here (and maybe Mac too, since it's using Qt). Basically, if
> two configures are necessary, you simply just hit the "generate"
> button twice, and the wait may be slightly longer because of the
> generation. However, usually it's the configure step that takes 99% of
> the time and generation is quick since it's just spitting out files to
> disk it seems.
>
> I would also argue that any CMake project should have appropriate
> defaults OR logic to calculate the defaults for you, so that even if a
> user decides to not modify any cache variables, generation should
> always succeed. CMake can't assume that 2 passes will be necessary
> (and it really shouldn't).

Oh and also, if two configures are necessary (say that, a library or
package can't be found intelligently), then the configuration step
would fail and be interrupted, so you get a chance to correct any
errors and adjust appropriate cache variables. So, in this case it
doesn't really matter if you've hit configure or generate.
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Iterative configuring through the gui is useful for some people/projects, and generating is time-consuming too on some larger projects with some generators.

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.

Here are some related issues indicating some people want the exact opposite (i.e., separate configure and generate steps for the command line cmake)

And a request for a "build" button in cmake-gui:


Cheers,
David


--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: cmake-gui's separation between configuration & generation

Andreas Pakulat-2
In reply to this post by Robert Dailey-2
Hi,

On Thu, Aug 23, 2012 at 5:48 PM, Robert Dailey <[hidden email]> wrote:

> On Thu, Aug 23, 2012 at 10:43 AM, John Drescher <[hidden email]> wrote:
>>> Is the separation between configuration & generation really necessary
>>> for cmake-gui? I ask because several of my co-workers are confused
>>> between the differences in the two, even though I explain it.
>>>
>>> Honestly there isn't really a reason that I can think of to do a
>>> configure without a generate, unless you're testing the integrity of
>>> your CMake script changes maybe, but even then, if its broken
>>> generation won't take place.
>>>
>>> The command line program does not separate the two, so I simply think
>>> cmake-gui should eliminate the configure button, and simply have a
>>> generate button. Does this seem fair? Is there a reason why they are
>>> separated?
>>
>> I can think of one use case that I use that the separation is a good
>> thing. What about when you have options and variables that are
>> conditional depending on other CMake variables so that setting the
>> variables / options may take more than 1 configure.
>
> Well, think of this from the perspective of Linux users. They don't
> get to configure seperately, so only Windows users get special
> treatment here (and maybe Mac too, since it's using Qt).

You need to check your facts a bit more thoroughly ;) cmake-gui exists
on all platforms that Qt exists on, specifically because Qt is
cross-platform. And Qt runs on Windows, Linux, MacOSX and a few more
Unices.

That being said, I also don't see that much value in having those two
steps separate since one cannot change the CMake generator or anything
else anyway after hitting configure once. If that would be possible
things would be different, but as it is currently thats not the case.

Andreas
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: cmake-gui's separation between configuration & generation

Robert Dailey-2
On Thu, Aug 23, 2012 at 1:12 PM, Andreas Pakulat <[hidden email]> wrote:

> Hi,
>
> On Thu, Aug 23, 2012 at 5:48 PM, Robert Dailey <[hidden email]> wrote:
>> On Thu, Aug 23, 2012 at 10:43 AM, John Drescher <[hidden email]> wrote:
>>>> Is the separation between configuration & generation really necessary
>>>> for cmake-gui? I ask because several of my co-workers are confused
>>>> between the differences in the two, even though I explain it.
>>>>
>>>> Honestly there isn't really a reason that I can think of to do a
>>>> configure without a generate, unless you're testing the integrity of
>>>> your CMake script changes maybe, but even then, if its broken
>>>> generation won't take place.
>>>>
>>>> The command line program does not separate the two, so I simply think
>>>> cmake-gui should eliminate the configure button, and simply have a
>>>> generate button. Does this seem fair? Is there a reason why they are
>>>> separated?
>>>
>>> I can think of one use case that I use that the separation is a good
>>> thing. What about when you have options and variables that are
>>> conditional depending on other CMake variables so that setting the
>>> variables / options may take more than 1 configure.
>>
>> Well, think of this from the perspective of Linux users. They don't
>> get to configure seperately, so only Windows users get special
>> treatment here (and maybe Mac too, since it's using Qt).
>
> You need to check your facts a bit more thoroughly ;) cmake-gui exists
> on all platforms that Qt exists on, specifically because Qt is
> cross-platform. And Qt runs on Windows, Linux, MacOSX and a few more
> Unices.

I already knew all of this, what I was saying is that not everyone has
Linux with a GUI, so they'd HAVE to use the CLI for CMake in that
case. I'm only on Windows anyway, so my example is limited to that.
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: cmake-gui's separation between configuration & generation

Robert Dailey-2
In reply to this post by David Cole
On Thu, Aug 23, 2012 at 1:03 PM, David Cole <[hidden email]> wrote:

> On Thu, Aug 23, 2012 at 11:50 AM, Robert Dailey <[hidden email]>
> wrote:
>>
>> On Thu, Aug 23, 2012 at 10:48 AM, Robert Dailey
>> <[hidden email]> wrote:
>> > On Thu, Aug 23, 2012 at 10:43 AM, John Drescher <[hidden email]>
>> > wrote:
>> >>> Is the separation between configuration & generation really necessary
>> >>> for cmake-gui? I ask because several of my co-workers are confused
>> >>> between the differences in the two, even though I explain it.
>> >>>
>> >>> Honestly there isn't really a reason that I can think of to do a
>> >>> configure without a generate, unless you're testing the integrity of
>> >>> your CMake script changes maybe, but even then, if its broken
>> >>> generation won't take place.
>> >>>
>> >>> The command line program does not separate the two, so I simply think
>> >>> cmake-gui should eliminate the configure button, and simply have a
>> >>> generate button. Does this seem fair? Is there a reason why they are
>> >>> separated?
>> >>
>> >> I can think of one use case that I use that the separation is a good
>> >> thing. What about when you have options and variables that are
>> >> conditional depending on other CMake variables so that setting the
>> >> variables / options may take more than 1 configure.
>> >
>> > Well, think of this from the perspective of Linux users. They don't
>> > get to configure seperately, so only Windows users get special
>> > treatment here (and maybe Mac too, since it's using Qt). Basically, if
>> > two configures are necessary, you simply just hit the "generate"
>> > button twice, and the wait may be slightly longer because of the
>> > generation. However, usually it's the configure step that takes 99% of
>> > the time and generation is quick since it's just spitting out files to
>> > disk it seems.
>> >
>> > I would also argue that any CMake project should have appropriate
>> > defaults OR logic to calculate the defaults for you, so that even if a
>> > user decides to not modify any cache variables, generation should
>> > always succeed. CMake can't assume that 2 passes will be necessary
>> > (and it really shouldn't).
>>
>> Oh and also, if two configures are necessary (say that, a library or
>> package can't be found intelligently), then the configuration step
>> would fail and be interrupted, so you get a chance to correct any
>> errors and adjust appropriate cache variables. So, in this case it
>> doesn't really matter if you've hit configure or generate.
>> --
>>
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake
>
>
>
> Iterative configuring through the gui is useful for some people/projects,
> and generating is time-consuming too on some larger projects with some
> generators.
>
> 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.
>
> Here are some related issues indicating some people want the exact opposite
> (i.e., separate configure and generate steps for the command line cmake)
>   http://public.kitware.com/Bug/view.php?id=13359
>
> And a request for a "build" button in cmake-gui:
>   http://public.kitware.com/Bug/view.php?id=8260

I definitely hear your point, and I realize not everyone has my
specific workflow, but usually I only hit configure to see if there
are any failures that do NOT stop the generation process (such as
status messages that print in red, but do not indicate an actual
error). In that case, I do not want generation to proceed but instead
I want to address the alert / error in the logs. However, if
configuration succeeds I only end up hitting generate right after that
anyway.

I am only bringing this up since I was surprised to see how my team
struggled to understand the differences between the two, and when to
use one or the other. Most of the time I just say "Ignore the
configure button, just always hit generate". If it wasn't there, it
would be more clear to people that are new to CMake. I'm trying to
migrate my company to CMake, so I thought this might be valuable
feedback, as it was one of the surprising little things we got hung up
on that you just never really think about.
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: cmake-gui's separation between configuration & generation

David Cole
On Thu, Aug 23, 2012 at 2:24 PM, Robert Dailey <[hidden email]> wrote:
On Thu, Aug 23, 2012 at 1:03 PM, David Cole <[hidden email]> wrote:
> On Thu, Aug 23, 2012 at 11:50 AM, Robert Dailey <[hidden email]>
> wrote:
>>
>> On Thu, Aug 23, 2012 at 10:48 AM, Robert Dailey
>> <[hidden email]> wrote:
>> > On Thu, Aug 23, 2012 at 10:43 AM, John Drescher <[hidden email]>
>> > wrote:
>> >>> Is the separation between configuration & generation really necessary
>> >>> for cmake-gui? I ask because several of my co-workers are confused
>> >>> between the differences in the two, even though I explain it.
>> >>>
>> >>> Honestly there isn't really a reason that I can think of to do a
>> >>> configure without a generate, unless you're testing the integrity of
>> >>> your CMake script changes maybe, but even then, if its broken
>> >>> generation won't take place.
>> >>>
>> >>> The command line program does not separate the two, so I simply think
>> >>> cmake-gui should eliminate the configure button, and simply have a
>> >>> generate button. Does this seem fair? Is there a reason why they are
>> >>> separated?
>> >>
>> >> I can think of one use case that I use that the separation is a good
>> >> thing. What about when you have options and variables that are
>> >> conditional depending on other CMake variables so that setting the
>> >> variables / options may take more than 1 configure.
>> >
>> > Well, think of this from the perspective of Linux users. They don't
>> > get to configure seperately, so only Windows users get special
>> > treatment here (and maybe Mac too, since it's using Qt). Basically, if
>> > two configures are necessary, you simply just hit the "generate"
>> > button twice, and the wait may be slightly longer because of the
>> > generation. However, usually it's the configure step that takes 99% of
>> > the time and generation is quick since it's just spitting out files to
>> > disk it seems.
>> >
>> > I would also argue that any CMake project should have appropriate
>> > defaults OR logic to calculate the defaults for you, so that even if a
>> > user decides to not modify any cache variables, generation should
>> > always succeed. CMake can't assume that 2 passes will be necessary
>> > (and it really shouldn't).
>>
>> Oh and also, if two configures are necessary (say that, a library or
>> package can't be found intelligently), then the configuration step
>> would fail and be interrupted, so you get a chance to correct any
>> errors and adjust appropriate cache variables. So, in this case it
>> doesn't really matter if you've hit configure or generate.
>> --
>>
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake
>
>
>
> Iterative configuring through the gui is useful for some people/projects,
> and generating is time-consuming too on some larger projects with some
> generators.
>
> 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.
>
> Here are some related issues indicating some people want the exact opposite
> (i.e., separate configure and generate steps for the command line cmake)
>   http://public.kitware.com/Bug/view.php?id=13359
>
> And a request for a "build" button in cmake-gui:
>   http://public.kitware.com/Bug/view.php?id=8260

I definitely hear your point, and I realize not everyone has my
specific workflow, but usually I only hit configure to see if there
are any failures that do NOT stop the generation process (such as
status messages that print in red, but do not indicate an actual
error). In that case, I do not want generation to proceed but instead
I want to address the alert / error in the logs. However, if
configuration succeeds I only end up hitting generate right after that
anyway.

I am only bringing this up since I was surprised to see how my team
struggled to understand the differences between the two, and when to
use one or the other. Most of the time I just say "Ignore the
configure button, just always hit generate". If it wasn't there, it
would be more clear to people that are new to CMake. I'm trying to
migrate my company to CMake, so I thought this might be valuable
feedback, as it was one of the surprising little things we got hung up
on that you just never really think about.


We hear you, too. But there are lots of people who like the separate buttons, so we're keeping them.


--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: cmake-gui's separation between configuration & generation

Andreas Pakulat-2
In reply to this post by Robert Dailey-2
Hi,

On Thu, Aug 23, 2012 at 8:20 PM, Robert Dailey <[hidden email]> wrote:

> On Thu, Aug 23, 2012 at 1:12 PM, Andreas Pakulat <[hidden email]> wrote:
>> Hi,
>>
>> On Thu, Aug 23, 2012 at 5:48 PM, Robert Dailey <[hidden email]> wrote:
>>> On Thu, Aug 23, 2012 at 10:43 AM, John Drescher <[hidden email]> wrote:
>>>>> Is the separation between configuration & generation really necessary
>>>>> for cmake-gui? I ask because several of my co-workers are confused
>>>>> between the differences in the two, even though I explain it.
>>>>>
>>>>> Honestly there isn't really a reason that I can think of to do a
>>>>> configure without a generate, unless you're testing the integrity of
>>>>> your CMake script changes maybe, but even then, if its broken
>>>>> generation won't take place.
>>>>>
>>>>> The command line program does not separate the two, so I simply think
>>>>> cmake-gui should eliminate the configure button, and simply have a
>>>>> generate button. Does this seem fair? Is there a reason why they are
>>>>> separated?
>>>>
>>>> I can think of one use case that I use that the separation is a good
>>>> thing. What about when you have options and variables that are
>>>> conditional depending on other CMake variables so that setting the
>>>> variables / options may take more than 1 configure.
>>>
>>> Well, think of this from the perspective of Linux users. They don't
>>> get to configure seperately, so only Windows users get special
>>> treatment here (and maybe Mac too, since it's using Qt).
>>
>> You need to check your facts a bit more thoroughly ;) cmake-gui exists
>> on all platforms that Qt exists on, specifically because Qt is
>> cross-platform. And Qt runs on Windows, Linux, MacOSX and a few more
>> Unices.
>
> I already knew all of this, what I was saying is that not everyone has
> Linux with a GUI, so they'd HAVE to use the CLI for CMake in that
> case. I'm only on Windows anyway, so my example is limited to that.

I think the majority of Linux users these days have a graphical
display at hand, just like MacOSX or Windows users. The cases where
CMake is run from the commandline is IMO the same on all platforms:
Either because the users like CLI better or because the machine indeed
has no display since its not needing one (read: Buildfarms).

Andreas
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: cmake-gui's separation between configuration & generation

Keith Gardner
Hi,

Even if the Linux environment does not have a GUI, you can use ccmake.  It is like the cmake-gui but runs inside a terminal window.  I use this all the time on Windows through putty.

As for clicking generate, with the latest version of CMake, you can click generate without clicking configure and you have the behavior of cmake CLI.  At my company, we have many CMake options and need to configure multiple times, even on Linux.

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Andreas Pakulat
Sent: Thursday, August 23, 2012 1:32 PM
To: Robert Dailey
Cc: CMake ML
Subject: Re: [CMake] cmake-gui's separation between configuration & generation

Hi,

On Thu, Aug 23, 2012 at 8:20 PM, Robert Dailey <[hidden email]> wrote:

> On Thu, Aug 23, 2012 at 1:12 PM, Andreas Pakulat <[hidden email]> wrote:
>> Hi,
>>
>> On Thu, Aug 23, 2012 at 5:48 PM, Robert Dailey <[hidden email]> wrote:
>>> On Thu, Aug 23, 2012 at 10:43 AM, John Drescher <[hidden email]> wrote:
>>>>> Is the separation between configuration & generation really
>>>>> necessary for cmake-gui? I ask because several of my co-workers
>>>>> are confused between the differences in the two, even though I explain it.
>>>>>
>>>>> Honestly there isn't really a reason that I can think of to do a
>>>>> configure without a generate, unless you're testing the integrity
>>>>> of your CMake script changes maybe, but even then, if its broken
>>>>> generation won't take place.
>>>>>
>>>>> The command line program does not separate the two, so I simply
>>>>> think cmake-gui should eliminate the configure button, and simply
>>>>> have a generate button. Does this seem fair? Is there a reason why
>>>>> they are separated?
>>>>
>>>> I can think of one use case that I use that the separation is a
>>>> good thing. What about when you have options and variables that are
>>>> conditional depending on other CMake variables so that setting the
>>>> variables / options may take more than 1 configure.
>>>
>>> Well, think of this from the perspective of Linux users. They don't
>>> get to configure seperately, so only Windows users get special
>>> treatment here (and maybe Mac too, since it's using Qt).
>>
>> You need to check your facts a bit more thoroughly ;) cmake-gui
>> exists on all platforms that Qt exists on, specifically because Qt is
>> cross-platform. And Qt runs on Windows, Linux, MacOSX and a few more
>> Unices.
>
> I already knew all of this, what I was saying is that not everyone has
> Linux with a GUI, so they'd HAVE to use the CLI for CMake in that
> case. I'm only on Windows anyway, so my example is limited to that.

I think the majority of Linux users these days have a graphical display at hand, just like MacOSX or Windows users. The cases where CMake is run from the commandline is IMO the same on all platforms:
Either because the users like CLI better or because the machine indeed has no display since its not needing one (read: Buildfarms).

Andreas
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
--

Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake