Beginners Guide to Cmake and Modern Cmake

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Beginners Guide to Cmake and Modern Cmake

Space
Dear Cmake world,

I am wanting to learn how to use Cmake correctly and I would like to
implement Modern Cmake (the latest version and techniques).

Currently I have a project that was intended for use on windows machine but
I want to run/develop it on Mac and am also interested to make it overall
cross platform. On Mac I'll use Visual Studio Code and Xcode (preferably
VSC).

Here is a link to the GitHub for the current project of interest:
https://github.com/AcademyOfInteractiveEntertainment/aieBootstrap

Dependencies are:
    glfw
    glm
    imgui
    stb
    openGL (gl_core_4_4.c/h)

I have visited the cmake.org site and looked at the tutorials, they teach
old cmake 2.8 but shouldn't there be material that teaches the Modern way.

I know about the documentation that has made an effort to show some of the
modern practices but to a person, new to cmake, my brain just shuts down to
the reference styled documents, and yes, but thats what the documentation
is; a reference list.

I then found the webinars, but much disappoint, they are dated back to March
2012 ( a great effort for its time but left me confused; not modern).

We are now end of July 2018. It would be great to see a webinar completely
refreshed, which is directed at the complete beginner and makes an effort to
teach Modern Cmake in todays world. It would also be nice to understand how
to bridge the gap between old 2.8 cmake and the latest cmake. For example:
Making proper use of find_package etc...

I hope this is an interesting topic to be reviewed,

regards,

Space





--
Sent from: http://cmake.3232098.n2.nabble.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:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Beginners Guide to Cmake and Modern Cmake

Andreas Naumann
Dear space & and the rest of the cmake world :)

i just googled for "modern cmake" and came up with at least two
interesting talks from cppcon and boostcon:
https://www.youtube.com/watch?v=bsXLMQ6WgIk&feature=youtu.be&t=37m15s
     https://www.youtube.com/watch?v=eC9-iRN2b04
Their slides can be found at
https://github.com/CppCon/CppCon2017/blob/master/Tutorials/Using%20Modern%20CMake%20Patterns%20to%20Enforce%20a%20Good%20Modular%20Design/Using%20Modern%20CMake%20Patterns%20to%20Enforce%20a%20Good%20Modular%20Design%20-%20Mathieu%20Ropert%20-%20CppCon%202017.pdf
https://github.com/boostcon/cppnow_presentations_2017/blob/master/05-19-2017_friday/effective_cmake__daniel_pfeifer__cppnow_05-19-2017.pdf

I just slipped through them, but they look like the right way. Another
nice summary is at
https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1#file-effective_modern_cmake-md

Wish you a nice weekend,
Andreas


Am 27.07.2018 um 01:54 schrieb Space:

> Dear Cmake world,
>
> I am wanting to learn how to use Cmake correctly and I would like to
> implement Modern Cmake (the latest version and techniques).
>
> Currently I have a project that was intended for use on windows machine but
> I want to run/develop it on Mac and am also interested to make it overall
> cross platform. On Mac I'll use Visual Studio Code and Xcode (preferably
> VSC).
>
> Here is a link to the GitHub for the current project of interest:
> https://github.com/AcademyOfInteractiveEntertainment/aieBootstrap
>
> Dependencies are:
>      glfw
>      glm
>      imgui
>      stb
>      openGL (gl_core_4_4.c/h)
>
> I have visited the cmake.org site and looked at the tutorials, they teach
> old cmake 2.8 but shouldn't there be material that teaches the Modern way.
>
> I know about the documentation that has made an effort to show some of the
> modern practices but to a person, new to cmake, my brain just shuts down to
> the reference styled documents, and yes, but thats what the documentation
> is; a reference list.
>
> I then found the webinars, but much disappoint, they are dated back to March
> 2012 ( a great effort for its time but left me confused; not modern).
>
> We are now end of July 2018. It would be great to see a webinar completely
> refreshed, which is directed at the complete beginner and makes an effort to
> teach Modern Cmake in todays world. It would also be nice to understand how
> to bridge the gap between old 2.8 cmake and the latest cmake. For example:
> Making proper use of find_package etc...
>
> I hope this is an interesting topic to be reviewed,
>
> regards,
>
> Space
>
>
>
>
>
> --
> Sent from: http://cmake.3232098.n2.nabble.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:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Beginners Guide to Cmake and Modern Cmake

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

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. 

It be great to see cmake.org revamping the webinars for the aforementioned.

Regards,

Space


Sent from my Samsung Galaxy smartphone.


-------- Original message --------
From: Andreas Naumann <[hidden email]>
Date: 28/7/18 2:42 am (GMT+10:00)
Subject: Re: [CMake] Beginners Guide to Cmake and Modern Cmake

Dear space & and the rest of the cmake world :)

i just googled for "modern cmake" and came up with at least two
interesting talks from cppcon and boostcon:
https://www.youtube.com/watch?v=bsXLMQ6WgIk&feature=youtu.be&t=37m15s
     https://www.youtube.com/watch?v=eC9-iRN2b04
Their slides can be found at
https://github.com/CppCon/CppCon2017/blob/master/Tutorials/Using%20Modern%20CMake%20Patterns%20to%20Enforce%20a%20Good%20Modular%20Design/Using%20Modern%20CMake%20Patterns%20to%20Enforce%20a%20Good%20Modular%20Design%20-%20Mathieu%20Ropert%20-%20CppCon%202017.pdf
https://github.com/boostcon/cppnow_presentations_2017/blob/master/05-19-2017_friday/effective_cmake__daniel_pfeifer__cppnow_05-19-2017.pdf

I just slipped through them, but they look like the right way. Another
nice summary is at
https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1#file-effective_modern_cmake-md

Wish you a nice weekend,
Andreas


Am 27.07.2018 um 01:54 schrieb Space:
> Dear Cmake world,
>
> I am wanting to learn how to use Cmake correctly and I would like to
> implement Modern Cmake (the latest version and techniques).
>
> Currently I have a project that was intended for use on windows machine but
> I want to run/develop it on Mac and am also interested to make it overall
> cross platform. On Mac I'll use Visual Studio Code and Xcode (preferably
> VSC).
>
> Here is a link to the GitHub for the current project of interest:
> https://github.com/AcademyOfInteractiveEntertainment/aieBootstrap
>
> Dependencies are:
>      glfw
>      glm
>      imgui
>      stb
>      openGL (gl_core_4_4.c/h)
>
> I have visited the cmake.org site and looked at the tutorials, they teach
> old cmake 2.8 but shouldn't there be material that teaches the Modern way.
>
> I know about the documentation that has made an effort to show some of the
> modern practices but to a person, new to cmake, my brain just shuts down to
> the reference styled documents, and yes, but thats what the documentation
> is; a reference list.
>
> I then found the webinars, but much disappoint, they are dated back to March
> 2012 ( a great effort for its time but left me confused; not modern).
>
> We are now end of July 2018. It would be great to see a webinar completely
> refreshed, which is directed at the complete beginner and makes an effort to
> teach Modern Cmake in todays world. It would also be nice to understand how
> to bridge the gap between old 2.8 cmake and the latest cmake. For example:
> Making proper use of find_package etc...
>
> I hope this is an interesting topic to be reviewed,
>
> regards,
>
> Space
>
>
>
>
>
> --
> Sent from: http://cmake.3232098.n2.nabble.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:
https://cmake.org/mailman/listinfo/cmake

--

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
Reply | Threaded
Open this post in threaded view
|

Re: Beginners Guide to Cmake and Modern Cmake

Eric Noulard


Le sam. 28 juil. 2018 à 01:01, [hidden email] <[hidden email]> 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/
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 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
Reply | Threaded
Open this post in threaded view
|

Re: Beginners Guide to Cmake and Modern Cmake

Space
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 <[hidden email]>
Date: 28/7/18 5:44 pm (GMT+10:00)
Cc: CMake Mailinglist <[hidden email]>
Subject: Re: [CMake] Beginners Guide to Cmake and Modern Cmake



Le sam. 28 juil. 2018 à 01:01, [hidden email] <[hidden email]> 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/
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 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
Reply | Threaded
Open this post in threaded view
|

Re: Beginners Guide to Cmake and Modern Cmake

Stefan Buschmann
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, [hidden email] 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 [hidden email]
Date: 28/7/18 5:44 pm (GMT+10:00)
Cc: CMake Mailinglist [hidden email]
Subject: Re: [CMake] Beginners Guide to Cmake and Modern Cmake



Le sam. 28 juil. 2018 à 01:01, [hidden email] <[hidden email]> 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/
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 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
Reply | Threaded
Open this post in threaded view
|

Re: Beginners Guide to Cmake and Modern Cmake

Space
Hey Stefan, 

Thanks so much for the resource. There is so much information here. Very well documented. It is a lot for me to take on. I have it saved a reference so I can refer to. 

Again, 

thank you for showing me this,

Space




Sent from my Samsung Galaxy smartphone.


-------- Original message --------
From: Stefan Buschmann <[hidden email]>
Date: 28/7/18 8:15 pm (GMT+10:00)
Subject: Re: [CMake] Beginners Guide to Cmake and Modern Cmake

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, [hidden email] 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 [hidden email]
Date: 28/7/18 5:44 pm (GMT+10:00)
Cc: CMake Mailinglist [hidden email]
Subject: Re: [CMake] Beginners Guide to Cmake and Modern Cmake



Le sam. 28 juil. 2018 à 01:01, [hidden email] <[hidden email]> 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/
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 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