knowledge needed before learning cmake

what knowledge should I’ve learned before using cmake to manage my project.
Recently I’m reading cmake related documentations and try finishing turorials, but when I am trying to use cmake language to write some cmakelists, sometimes I got confused. I don’t know makefile grammer and have little knowledge about compiling related concepts, so where can I get the basic info? or which book/online course/video should I read/watch to help me understand some compile related notions mentioned in documentations?

Thank you! Best wishes! :smiling_face_with_three_hearts: