<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi,<br>
    <br>
    you may also have a look at our cmake template "cmake-init", which
    we have been developing for several years now, based on modern
    CMake.<br>
    It may seem a bit overwhelming at first, but we tried to put in many
    best practices and support everything from building, to testing,
    documentation,<br>
    up to packaging. We developed it for use in our computer graphics
    middleware, which has pretty much the same dependencies you have
    (glm, glfw, opengl).<br>
    So maybe this is of interest to you as a starting point.<br>
    <br>
    <a class="moz-txt-link-freetext" href="https://github.com/cginternals/cmake-init">https://github.com/cginternals/cmake-init</a><br>
    <a class="moz-txt-link-freetext" href="https://github.com/cginternals/glbinding">https://github.com/cginternals/glbinding</a><br>
    <a class="moz-txt-link-freetext" href="https://github.com/cginternals/globjects">https://github.com/cginternals/globjects</a><br>
    <br>
    Stefan<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 28.07.2018 10:54,
      <a class="moz-txt-link-abbreviated" href="mailto:spacey_01@outlook.com">spacey_01@outlook.com</a> wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:BN6PR01MB28194B234D27C7B81A63C49D9F290@BN6PR01MB2819.prod.exchangelabs.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta content="text/html; charset=utf-8">
      <div>Hey Eric,</div>
      <div><br>
      </div>
      <div>Yes you are correct, the example software is not built with
        Cmake but i would like to add Cmake to it. Id like it
        crossplatform and Cmake seems like the best way.  </div>
      <div><br>
      </div>
      <div>As said, im really new to Cmake, but ill try to explain with
        the best of my knowledge. Some  of the projects dependency list
        does have Cmake but some doesn't.</div>
      <div>Project dependencies explained:</div>
      <div><br>
      </div>
      <div>Glfw - Cmake is included but only with the build out of
        source download </div>
      <div><br>
      </div>
      <div>Glm - seems to have Cmake package support</div>
      <div><br>
      </div>
      <div>Imgui - no Cmake but is self contained and no external
        libraries </div>
      <div><br>
      </div>
      <div>Stb - no Cmake but is header only.</div>
      <div><br>
      </div>
      <div>OpenGl -  no Cmake source only, i think its just a list of
        bindings and is written in C </div>
      <div><br>
      </div>
      <div>(project is otherwise C++)</div>
      <div><br>
      </div>
      <div>Secondly, thank you for the list of resources. I am
        particularly interested in Craig Scotts book. Judging from the
        sample book Craig provides on his webpage I think it is well
        written. Looking forward to reading the full text. </div>
      <div><br>
      </div>
      <div>Thirdly, sorry I was intermittently writting the reply. I
        mean to say the process of 'how to' provide Cmake package
        support. :)</div>
      <div><br>
      </div>
      <div>Lastly, I agree totally, it is a time consuming job to make
        good tutorial content, but doesnt any good profession consume
        time. It would be a benefit to the community and beginners like
        myself who want to take on Cmake but without the struggle of
        trawling the whole internet and not finding much learning
        material that is practical. Most of the tutorial style content
        is just "hello Cmake" styled content. Some explain the same
        intro Cmake content in minutes as others spend hours. TT ... ;) </div>
      <div>It would just be great to see some up to date tutorials on
        cmake.org landing page. Would make the learning process
        smoother.</div>
      <div><br>
      </div>
      <div>Thanks so much for the reply Eric,</div>
      <div><br>
      </div>
      <div>Regards,</div>
      <div><br>
      </div>
      <div>Space</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div id="composer_signature">
        <div dir="auto" style="font-size:85%; color:#575757">Sent from
          my Samsung Galaxy smartphone.</div>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>-------- Original message --------</div>
      <div>From: Eric Noulard <a class="moz-txt-link-rfc2396E" href="mailto:eric.noulard@gmail.com"><eric.noulard@gmail.com></a> </div>
      <div>Date: 28/7/18 5:44 pm (GMT+10:00) </div>
      <div>To: <a class="moz-txt-link-abbreviated" href="mailto:spacey_01@outlook.com">spacey_01@outlook.com</a> </div>
      <div>Cc: CMake Mailinglist <a class="moz-txt-link-rfc2396E" href="mailto:cmake@cmake.org"><cmake@cmake.org></a> </div>
      <div>Subject: Re: [CMake] Beginners Guide to Cmake and Modern
        Cmake </div>
      <div><br>
      </div>
      <div>
        <div dir="ltr"><br>
          <br>
          <div class="gmail_quote">
            <div dir="ltr">Le sam. 28 juil. 2018 à 01:01, <a
                href="mailto:spacey_01@outlook.com"
                moz-do-not-send="true">
                spacey_01@outlook.com</a> <<a
                href="mailto:spacey_01@outlook.com"
                moz-do-not-send="true">spacey_01@outlook.com</a>> a
              écrit :<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px
              0.8ex; border-left:1px solid rgb(204,204,204);
              padding-left:1ex">
              <div>
                <div>
                  <div>Hey Andreas,</div>
                  <div><br>
                  </div>
                  <div> thanks for your comments. Yes I too have
                    exhausted the resources you have mentioned here. The
                    concepts make sense and I see the intended point but
                    for a beginner its hard to grasp on how to implement
                    and given the type of project  application of
                    cmake's is diverse (easy to complex). </div>
                  <div><br>
                  </div>
                  <div>Im in need of some clear cut examples of modern
                    cmake for it to really sink in (easy to complex). </div>
                  <div><br>
                  </div>
                  <div>I feel you have to be a veteran in cmake to
                    understand how to implement the new way and overcome
                    the problems of dependencies not providing modern
                    transitive packages and the struggle of not just
                    calling find_package.. etc. Instead we have to make
                    that transition our selves in some cases. This is
                    the hard part.</div>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>AIFAIK, your example software does not seem to be built
              with CMake so there is no transition to make for you.</div>
            <div>Just use the "Modern way" from the ground up.</div>
            <div><br>
            </div>
            <div>Concerning documentation, tutorial, webinar etc...</div>
            <div>More and more resource are coming up:</div>
            <div><br>
            </div>
            <div>1) The various slide/presentation already mentionned</div>
            <div>2) The reference documentation (<a
                href="https://cmake.org/documentation/"
                moz-do-not-send="true">https://cmake.org/documentation/</a>)
              which has improved a lot after the switch to sphinx </div>
            <div>3) The kitware training of course: <a
                href="https://training.kitware.fr"
                moz-do-not-send="true">https://training.kitware.fr</a></div>
            <div>4) Books</div>
            <div>    - The book recently announced by Craig Scott: <a
                href="https://crascit.com/professional-cmake/"
                moz-do-not-send="true">
                https://crascit.com/professional-cmake/</a></div>
            <div>    - A forthcoming cookbook: <a
                href="https://www.packtpub.com/application-development/cmake-cookbook"
                moz-do-not-send="true">https://www.packtpub.com/application-development/cmake-cookbook</a></div>
            <div>and probably many other to come.</div>
            <div><br>
            </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px
              0.8ex; border-left:1px solid rgb(204,204,204);
              padding-left:1ex">
              <div>
                <div>
                  <div>However if we are into making libraries it would
                    be a benefit to know the process of cmake packages
                    but at the advantage of being the maker and knowing
                    the dependency path if the library does borrow. </div>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>I bet (but I did not read it) the book from Craig could
              help you with that, but I'm sure he may answer himself.</div>
            <div><br>
            </div>
            <div>Now I am curious of what you mean by "it would be a
              benefit to know **<span style="font-size:small;
                background-color:rgb(255,255,255); float:none;
                display:inline">the process of cmake packages**" ?</span></div>
            <div>What do you mean by that?</div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px
              0.8ex; border-left:1px solid rgb(204,204,204);
              padding-left:1ex">
              <div>
                <div>
                  <div>It be great to see <a href="http://cmake.org"
                      target="_blank" moz-do-not-send="true">cmake.org</a>
                    revamping the webinars for the aforementioned.</div>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>All that said I agree the current are oldish and would
              benefit an upgrade :-)</div>
            <div><br>
            </div>
            <div>However from my perspective writing good doc, tutorial,
              webinar etc... is very time-consuming so may be worth
              buying some for that and give some rewards to people
              investing in it.</div>
            <div>This is my own opinion though :-)</div>
          </div>
          <div><br>
          </div>
          -- <br>
          <div dir="ltr" class="gmail_signature">
            <div dir="ltr">
              <div>
                <div dir="ltr">
                  <div>Eric<br>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
    </blockquote>
    <br>
  </body>
</html>