<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>