「ref. 1」说得很详细,也给出了CMake学习的建议(参考「ref. 2」和「ref. 3」),然后就是记住口诀:

  1. Declare a target
  2. Declare target’s traits
  3. It’s all about targets

关于makemakefilecmake等的一些区别,可参阅回答:make makefile cmake qmake都是什么,有什么区别? - 辉常哥的回答 - 知乎

Reference

  1. CMake 如何入门? - 0xCCCCCCCC的回答 - 知乎archived
  2. ttroy50/cmake-examples: Useful CMake Examplesimportant
  3. Effective Modern CMake