<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 25-Jun-16 10:44, Craig Scott wrote:<br>
</div>
<blockquote
cite="mid:CA+dygYka3sadu+F1jhy4PtY01uWxWAxYxugrxb-ooPxy-Tv8kg@mail.gmail.com"
type="cite">
<div dir="ltr">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 <i>configure</i> and <i>generation</i>
stages.</div>
</blockquote>
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"?<br>
<br>
<blockquote
cite="mid:CA+dygYka3sadu+F1jhy4PtY01uWxWAxYxugrxb-ooPxy-Tv8kg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><br>
</div>
<div>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 <i>build</i> 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 <i>build</i> stage as simply that without
bringing cmake into the terminology.</div>
</div>
</blockquote>
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?).<br>
<br>
<blockquote
cite="mid:CA+dygYka3sadu+F1jhy4PtY01uWxWAxYxugrxb-ooPxy-Tv8kg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><br>
</div>
<div>So in summary, here's the set of terminology I use
(hopefully similar to what others intuitively expect):</div>
<div><br>
</div>
<div>Workflow stages in general: cmake (or project setup)
--> build --> test --> package</div>
<div><br>
</div>
<div>If talking about generator expressions: configure -->
generate --> build --> test --> package</div>
</div>
</blockquote>
This one reminds me about ExternalProject_Add command. It has <span
class="c">"Configure step" with "CONFIGURE_COMMAND". This is where
"cmake -H. -B_builds" happens :)<br>
<br>
So for now I see two choices:<br>
* invent new name for configure+generate :) well, this seems like
a huge overkill...<br>
* use words "configure" and "generate" interchangeably for command
line cmake, depending on context, e.g.:<br>
* "you can add `-D` on __configure step__ to modify cache..."<br>
* "you can add `-G Xcode` on __generate step__ to create Xcode
project instead of Makefile..."<br>
<br>
Ruslo<br>
<br>
</span>
<blockquote
cite="mid:CA+dygYka3sadu+F1jhy4PtY01uWxWAxYxugrxb-ooPxy-Tv8kg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><br>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sat, Jun 25, 2016 at 5:02 PM, Eric
Noulard <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:eric.noulard@gmail.com" target="_blank">eric.noulard@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 dir="ltr">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>Hi there,<br>
<br>
</div>
I'd like to give my opinion here.<br>
</div>
I agree that the fact that the cmake ui
(qt or curse) makes it possible to
separate configure from generate<br>
</div>
is an implementation detail. In fact one
could perfectly decide that the "configure"
step should "generate "<br>
</div>
each time it is run. Making it two-step save
some time for big project but I have already
seen people forgetting<br>
</div>
<div>to generate and asking themselves why they
didn't get any makefiles...<br>
</div>
<div><br>
</div>
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.<br>
<br>
</div>
Some action may be run during CMake time some may
be done during Build time.<br>
</div>
For me CMake run is configure+generate.<br>
<br>
</div>
I did gave a tutorial which is now a bit outdated
where I tried to picture this.<br>
</div>
See attached file or:<br>
<a moz-do-not-send="true"
href="https://github.com/TheErk/CMake-tutorial"
target="_blank">https://github.com/TheErk/CMake-tutorial</a><br>
<br>
</div>
my 2 cents.<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2016-06-25 2:33 GMT+02:00 Ruslan
Baratov via CMake <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:cmake@cmake.org"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:cmake@cmake.org">cmake@cmake.org</a></a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>There is cmake **build** step: cmake --build
_builds<br>
<br>
So in GUI it's:<br>
* cmake configure<br>
* cmake generate<br>
* IDE build (which you can do with cmake --build
so it can be called "cmake build" step)<br>
<br>
in cmd:<br>
* cmake configure+generate<br>
* cmake build<br>
<br>
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
<div>
<div><br>
<br>
On 25-Jun-16 02:13, Craig Scott wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote type="cite">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.<br>
<br>
On Saturday, 25 June 2016, Ruslan Baratov via
CMake <<a moz-do-not-send="true"
href="mailto:cmake@cmake.org"
target="_blank">cmake@cmake.org</a>>
wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex">On 24-Jun-16
23:49, Robert Maynard wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex"> Please run
the configure and generate steps by<br>
</blockquote>
It's too long :)<br>
<br>
Also it doesn't express the fact that it's a
single action, consider:<br>
"To add variables on configure and
generate steps use '-D'"<br>
"Before running configure and generate
steps note that old variables from cache can
be used"<br>
etc.<br>
<br>
<br>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex"> <br>
On Fri, Jun 24, 2016 at 4:40 PM, Ruslan
Baratov<br>
<<a moz-do-not-send="true">ruslan_baratov@yahoo.com</a>>
wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex"> On
24-Jun-16 23:25, Robert Maynard wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex"> cmake from
the command line is still running the
two stages, it just<br>
doesn't allow for feedback/input from
the user between the two stages.<br>
</blockquote>
Yes, I understand that. Question is
about the name of the step. I.e. when I<br>
do write manual what should I choose<br>
Please run configure step by: cmake
-H. -B_builds<br>
or<br>
Please run generate step by: cmake
-H. -B_builds<br>
?<br>
<br>
May be both versions are correct? Or
both incorrect?<br>
<br>
Ruslo<br>
<br>
<br>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex"> On Fri, Jun
24, 2016 at 4:06 PM, Ruslan Baratov
via CMake<br>
<<a moz-do-not-send="true">cmake@cmake.org</a>>
wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex"> Hi,<br>
<br>
I have a question about CMake
terminology. When we are using CMake
GUI<br>
there<br>
are two buttons "Configure" and
"Generate", hence we have two
stages:<br>
<br>
1. Configure step, when we do
configuring project, effectively
creating<br>
file<br>
with cache variables (which we can
modify) without really generating<br>
native<br>
tools files like Makefile/*.sln/etc.<br>
<br>
2. Generate step, when we do
generating project using file with
cache<br>
variables, i.e. create those
Makefile/*.sln/etc.<br>
<br>
The question is about command line
version of CMake. Since we do
creating<br>
file with cache and generate native
tools files in one step what is the<br>
right term? Is it a configure step
because we read user's '-D' and
create<br>
cache file? Is it a generate step
because native tools files generated<br>
at<br>
the end? May be there is a third
name to describe the fact that it's<br>
configure+generate step?<br>
<br>
Thanks, Ruslo<br>
--<br>
<br>
Powered by <a
moz-do-not-send="true"
href="http://www.kitware.com"
target="_blank"><a class="moz-txt-link-abbreviated" href="http://www.kitware.com">www.kitware.com</a></a><br>
<br>
Please keep messages on-topic and
check the CMake FAQ at:<br>
<a moz-do-not-send="true"
href="http://www.cmake.org/Wiki/CMake_FAQ"
target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Kitware offers various services to
support the CMake community. For
more<br>
information on each offering, please
visit:<br>
<br>
CMake Support: <a
moz-do-not-send="true"
href="http://cmake.org/cmake/help/support.html"
target="_blank"><a class="moz-txt-link-freetext" href="http://cmake.org/cmake/help/support.html">http://cmake.org/cmake/help/support.html</a></a><br>
CMake Consulting: <a
moz-do-not-send="true"
href="http://cmake.org/cmake/help/consulting.html"
target="_blank"><a class="moz-txt-link-freetext" href="http://cmake.org/cmake/help/consulting.html">http://cmake.org/cmake/help/consulting.html</a></a><br>
CMake Training Courses: <a
moz-do-not-send="true"
href="http://cmake.org/cmake/help/training.html"
target="_blank"><a class="moz-txt-link-freetext" href="http://cmake.org/cmake/help/training.html">http://cmake.org/cmake/help/training.html</a></a><br>
<br>
Visit other Kitware open-source
projects at<br>
<a moz-do-not-send="true"
href="http://www.kitware.com/opensource/opensource.html"
target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Follow this link to
subscribe/unsubscribe:<br>
<a moz-do-not-send="true"
href="http://public.kitware.com/mailman/listinfo/cmake"
target="_blank">http://public.kitware.com/mailman/listinfo/cmake</a><br>
</blockquote>
</blockquote>
<br>
<br>
</blockquote>
</blockquote>
<br>
-- <br>
<br>
Powered by <a moz-do-not-send="true"
href="http://www.kitware.com"
target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the
CMake FAQ at: <a moz-do-not-send="true"
href="http://www.cmake.org/Wiki/CMake_FAQ"
target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Kitware offers various services to support
the CMake community. For more information on
each offering, please visit:<br>
<br>
CMake Support: <a moz-do-not-send="true"
href="http://cmake.org/cmake/help/support.html"
target="_blank">http://cmake.org/cmake/help/support.html</a><br>
CMake Consulting: <a moz-do-not-send="true"
href="http://cmake.org/cmake/help/consulting.html" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br>
CMake Training Courses: <a
moz-do-not-send="true"
href="http://cmake.org/cmake/help/training.html"
target="_blank"><a class="moz-txt-link-freetext" href="http://cmake.org/cmake/help/training.html">http://cmake.org/cmake/help/training.html</a></a><br>
<br>
Visit other Kitware open-source projects at
<a moz-do-not-send="true"
href="http://www.kitware.com/opensource/opensource.html"
target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a moz-do-not-send="true"
href="http://public.kitware.com/mailman/listinfo/cmake"
target="_blank">http://public.kitware.com/mailman/listinfo/cmake</a><br>
</blockquote>
<br>
<br>
-- <br>
<div dir="ltr">
<div>
<div dir="ltr">Craig Scott<br>
<div>Melbourne, Australia</div>
<div><a moz-do-not-send="true"
href="http://crascit.com"
target="_blank">http://crascit.com</a><br>
</div>
</div>
</div>
</div>
<br>
</blockquote>
<p><br>
</p>
</div>
</div>
</div>
<br>
--<br>
<br>
Powered by <a moz-do-not-send="true"
href="http://www.kitware.com" rel="noreferrer"
target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ
at: <a moz-do-not-send="true"
href="http://www.cmake.org/Wiki/CMake_FAQ"
rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Kitware offers various services to support the CMake
community. For more information on each offering,
please visit:<br>
<br>
CMake Support: <a moz-do-not-send="true"
href="http://cmake.org/cmake/help/support.html"
rel="noreferrer" target="_blank">http://cmake.org/cmake/help/support.html</a><br>
CMake Consulting: <a moz-do-not-send="true"
href="http://cmake.org/cmake/help/consulting.html"
rel="noreferrer" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br>
CMake Training Courses: <a moz-do-not-send="true"
href="http://cmake.org/cmake/help/training.html"
rel="noreferrer" target="_blank">http://cmake.org/cmake/help/training.html</a><br>
<br>
Visit other Kitware open-source projects at <a
moz-do-not-send="true"
href="http://www.kitware.com/opensource/opensource.html"
rel="noreferrer" target="_blank"><a class="moz-txt-link-freetext" href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a></a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a moz-do-not-send="true"
href="http://public.kitware.com/mailman/listinfo/cmake"
rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/cmake</a><span
class="HOEnZb"><font color="#888888"><br>
</font></span></blockquote>
</div>
<span class="HOEnZb"><font color="#888888"><br>
<br clear="all">
<br>
-- <br>
<div data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>Eric<br>
</div>
</div>
</div>
</div>
</div>
</font></span></div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">Craig Scott<br>
<div>Melbourne, Australia</div>
<div><a moz-do-not-send="true" href="http://crascit.com"
target="_blank">http://crascit.com</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<p><br>
</p>
</body>
</html>