[CMake] CMake terminology

Eric Noulard eric.noulard at gmail.com
Sat Jun 25 03:02:51 EDT 2016


Hi there,

I'd like to give my opinion here.
I agree that the fact that the cmake ui (qt or curse) makes it possible to
separate configure from generate
is an implementation detail. In fact one could perfectly decide that the
"configure" step should "generate "
each time it is run. Making it two-step save some time for big project but
I have already seen people forgetting
to generate and asking themselves why they didn't get any makefiles...

Nevertheless from a user point of view explaining that there are different
"time" because CMake is a buid system **generator** and not a build tool
seems very important to me.

Some action may be run during CMake time some may be done during Build time.
For me CMake run is configure+generate.

I did gave a tutorial which is now a bit outdated where I tried to picture
this.
See attached file or:
https://github.com/TheErk/CMake-tutorial

my 2 cents.

2016-06-25 2:33 GMT+02:00 Ruslan Baratov via CMake <cmake at cmake.org>:

> There is cmake **build** step: cmake --build _builds
>
> So in GUI it's:
>  * cmake configure
>  * cmake generate
>  * IDE build (which you can do with cmake --build so it can be called
> "cmake build" step)
>
> in cmd:
>  * cmake configure+generate
>  * cmake build
>
> Also I can call it "cmake step" in docs about some C++ project, but if the
> docs about cmake itself I think this term is too wide
>
>
> On 25-Jun-16 02:13, Craig Scott wrote:
>
> In documentation, blog articles, etc. I just call it the "cmake" step (or
> sometimes the "project setup" step if talking in a more project-wide
> sense). For many users, the separate configure and generate steps are
> somewhat of an implementation detail, so it makes more sense to give it a
> single term. I'm not aware of any generally accepted term, but the ones I
> use seem to be fairly easy to understand, especially for those new to
> CMake. YMMV.
>
> On Saturday, 25 June 2016, Ruslan Baratov via CMake < <cmake at cmake.org>
> cmake at cmake.org> wrote:
>
>> On 24-Jun-16 23:49, Robert Maynard wrote:
>>
>>> Please run the configure and generate steps by
>>>
>> It's too long :)
>>
>> Also it doesn't express the fact that it's a single action, consider:
>>   "To add variables on configure and generate steps use '-D'"
>>   "Before running configure and generate steps note that old variables
>> from cache can be used"
>>   etc.
>>
>>
>>
>>> On Fri, Jun 24, 2016 at 4:40 PM, Ruslan Baratov
>>> <ruslan_baratov at yahoo.com> wrote:
>>>
>>>> On 24-Jun-16 23:25, Robert Maynard wrote:
>>>>
>>>>> cmake from the command line is still running the two stages, it just
>>>>> doesn't allow for feedback/input from the user between the two stages.
>>>>>
>>>> Yes, I understand that. Question is about the name of the step. I.e.
>>>> when I
>>>> do write manual what should I choose
>>>>    Please run configure step by: cmake -H. -B_builds
>>>> or
>>>>    Please run generate step by: cmake -H. -B_builds
>>>> ?
>>>>
>>>> May be both versions are correct? Or both incorrect?
>>>>
>>>> Ruslo
>>>>
>>>>
>>>> On Fri, Jun 24, 2016 at 4:06 PM, Ruslan Baratov via CMake
>>>>> <cmake at cmake.org> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have a question about CMake terminology. When we are using CMake GUI
>>>>>> there
>>>>>> are two buttons "Configure" and "Generate", hence we have two stages:
>>>>>>
>>>>>> 1. Configure step, when we do configuring project, effectively
>>>>>> creating
>>>>>> file
>>>>>> with cache variables (which we can modify) without really generating
>>>>>> native
>>>>>> tools files like Makefile/*.sln/etc.
>>>>>>
>>>>>> 2. Generate step, when we do generating project using file with cache
>>>>>> variables, i.e. create those Makefile/*.sln/etc.
>>>>>>
>>>>>> The question is about command line version of CMake. Since we do
>>>>>> creating
>>>>>> file with cache and generate native tools files in one step what is
>>>>>> the
>>>>>> right term? Is it a configure step because we read user's '-D' and
>>>>>> create
>>>>>> cache file?  Is it a generate step because native tools files
>>>>>> generated
>>>>>> at
>>>>>> the end? May be there is a third name to describe the fact that it's
>>>>>> configure+generate step?
>>>>>>
>>>>>> Thanks, Ruslo
>>>>>> --
>>>>>>
>>>>>> Powered by www.kitware.com
>>>>>>
>>>>>> Please keep messages on-topic and check the CMake FAQ at:
>>>>>> http://www.cmake.org/Wiki/CMake_FAQ
>>>>>>
>>>>>> Kitware offers various services to support the CMake community. For
>>>>>> more
>>>>>> information on each offering, please visit:
>>>>>>
>>>>>> CMake Support: http://cmake.org/cmake/help/support.html
>>>>>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>>>>>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>>>>>
>>>>>> Visit other Kitware open-source projects at
>>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>>
>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>> http://public.kitware.com/mailman/listinfo/cmake
>>>>>>
>>>>>
>>>>
>>>>
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> <http://www.cmake.org/Wiki/CMake_FAQ>http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more
>> information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at
>> <http://www.kitware.com/opensource/opensource.html>
>> http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake
>>
>
>
> --
> Craig Scott
> Melbourne, Australia
> http://crascit.com
>
>
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
>



-- 
Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20160625/2dad8575/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CMake-workflow-sumarized.pdf
Type: application/pdf
Size: 200640 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake/attachments/20160625/2dad8575/attachment-0001.pdf>


More information about the CMake mailing list