[CMake] CMake terminology

Ruslan Baratov ruslan_baratov at yahoo.com
Sat Jun 25 11:22:30 EDT 2016


On 25-Jun-16 10:02, Eric Noulard wrote:
> 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.
Actually it doesn't conflicts with steps notions. "cmake time" for GUI = 
"cmake configure" step + "cmake generate" step, "cmake time" for 
command-line = "cmake configure+generate" step.
Also by one step you can trigger events from different "times", i.e. 
"cmake --build _builds --target install" will run "Install time" which 
can trigger commands from "Build time", which even can trigger commands 
from "CMake time" (if CMakeLists.txt changed for example).


>
> 2016-06-25 2:33 GMT+02:00 Ruslan Baratov via CMake <cmake at cmake.org 
> <mailto: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 <mailto: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
>>                         <http://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 <http://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
>>
>>
>>
>>     -- 
>>     Craig Scott
>>     Melbourne, Australia
>>     http://crascit.com
>>
>
>
>     --
>
>     Powered by www.kitware.com <http://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/9d3f006e/attachment-0001.html>


More information about the CMake mailing list