Hi,
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.
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,
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).
So maybe this is of interest to you as a starting point.
https://github.com/cginternals/cmake-init
https://github.com/cginternals/glbinding
https://github.com/cginternals/globjects
Stefan
On 28.07.2018 10:54, spacey...@outlook.com wrote:
Hey Eric,
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.
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.
Project dependencies explained:
Glfw - Cmake is included but only with the build out of source download
Glm - seems to have Cmake package support
Imgui - no Cmake but is self contained and no external libraries
Stb - no Cmake but is header only.
OpenGl - no Cmake source only, i think its just a list of bindings
and is written in C
(project is otherwise C++)
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.
Thirdly, sorry I was intermittently writting the reply. I mean to say
the process of 'how to' provide Cmake package support. :)
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 ... ;)
It would just be great to see some up to date tutorials on cmake.org
landing page. Would make the learning process smoother.
Thanks so much for the reply Eric,
Regards,
Space
Sent from my Samsung Galaxy smartphone.
-------- Original message --------
From: Eric Noulard <eric.noul...@gmail.com>
Date: 28/7/18 5:44 pm (GMT+10:00)
To: spacey...@outlook.com
Cc: CMake Mailinglist <cmake@cmake.org>
Subject: Re: [CMake] Beginners Guide to Cmake and Modern Cmake
Le sam. 28 juil. 2018 à 01:01, spacey...@outlook.com
<mailto:spacey...@outlook.com> <spacey...@outlook.com
<mailto:spacey...@outlook.com>> a écrit :
Hey Andreas,
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).
Im in need of some clear cut examples of modern cmake for it to
really sink in (easy to complex).
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.
AIFAIK, your example software does not seem to be built with CMake so
there is no transition to make for you.
Just use the "Modern way" from the ground up.
Concerning documentation, tutorial, webinar etc...
More and more resource are coming up:
1) The various slide/presentation already mentionned
2) The reference documentation (https://cmake.org/documentation/)
which has improved a lot after the switch to sphinx
3) The kitware training of course: https://training.kitware.fr
4) Books
- The book recently announced by Craig Scott:
https://crascit.com/professional-cmake/
<https://crascit.com/professional-cmake/>
- A forthcoming cookbook:
https://www.packtpub.com/application-development/cmake-cookbook
and probably many other to come.
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.
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.
Now I am curious of what you mean by "it would be a benefit to know
**the process of cmake packages**" ?
What do you mean by that?
It be great to see cmake.org <http://cmake.org> revamping the
webinars for the aforementioned.
All that said I agree the current are oldish and would benefit an
upgrade :-)
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.
This is my own opinion though :-)
--
Eric
--
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:
https://cmake.org/mailman/listinfo/cmake