What ends up happening is that people explain the easy stuff with very simple clear language and they really break it down. But with the advanced stuff they prefer to believe you already know everything. I've been able to use Make to make compilation easier but CMake is really complex. It looks like it's got it's own language. A basic tutorial might include using CMake to write hello world then have it compile a very basic C hello world project with minimal Cmake files
Yes, CMake is complex. I personally favor using a generator to get the project started and did a talk about this in spring: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-3KlLGNo5bn0.html
Not sure why people hate on CMake, it's one of the most configurable build tools out there. I guess it's impatience and the culture of complaining at the first sight of a slightest obstacle in a process of learning.
when you write php it just works, like javascript, python. But in c++ it's not enough there is hidden obstacle. people dont hate cmake, they hate another hidden requirement.