On 25-Jun-16 10:44, Craig Scott wrote:
One of the slight wrinkles here is that the distinction between
configure and generation times is now a little stronger due to
generator expressions. In order to really understand generator
expressions, you cannot really avoid getting your head around
configure and generate being distinct parts of the process.
Personally, I tend to gloss over the distinction when explaining
things so as not to distract the reader, but if I'm explaining
something to do with generator expressions, then the distinction has
to be made and I deliberately use the terms /configure/ and
/generation/ stages.
I'm not sure I understand the link between "generator expressions" and
"confusing configure+generate stage". Do you mean "generator
expressions" on "configure+generate stage" vs "build stage"?
Also, as Ruslo points out, cmake can be used like a front end to the
build step proper (i.e. cmake --build ...). I still see this as the
/build/ though, not a cmake-specific step per se. If you treated that
as a cmake step, then one could argue the whole build is cmake because
cmake can be used to invoke the test and package targets too. I doubt
many people think this way, so personally I feel it is clearer to
refer to the /build/ stage as simply that without bringing cmake into
the terminology.
Okay, I agree. "cmake build step" sounds weird, it should be just "build
step" which can be triggered by "cmake --build" command. Also to be
pedantic: it's CTest for testing stage and CPack for packing stage, not
CMake (or you mean CMake tools?).
So in summary, here's the set of terminology I use (hopefully similar
to what others intuitively expect):
Workflow stages in general: cmake (or project setup) --> build -->
test --> package
If talking about generator expressions: configure --> generate -->
build --> test --> package
This one reminds me about ExternalProject_Add command. It has "Configure
step" with "CONFIGURE_COMMAND". This is where "cmake -H. -B_builds"
happens :)
So for now I see two choices:
* invent new name for configure+generate :) well, this seems like a huge
overkill...
* use words "configure" and "generate" interchangeably for command line
cmake, depending on context, e.g.:
* "you can add `-D` on __configure step__ to modify cache..."
* "you can add `-G Xcode` on __generate step__ to create Xcode project
instead of Makefile..."
Ruslo
On Sat, Jun 25, 2016 at 5:02 PM, Eric Noulard <eric.noul...@gmail.com
<mailto:eric.noul...@gmail.com>> 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.
2016-06-25 2:33 GMT+02:00 Ruslan Baratov via CMake
<cmake@cmake.org <mailto:cmake@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@cmake.org <mailto:cmake@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_bara...@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@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
--
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