¿Cómo se usa CMake? [cerrado]

Es muy difícil obtener información útil sobre CMake como principiante. Hasta ahora, he visto algunos tutoriales sobre cómo configurar un proyecto muy básico u otro. Sin embargo, ninguno de estos explica el razonamiento detráscualquier cosa eso se muestra en ellos, dejando siempre muchos agujeros para llenar.

¿Qué significa llamar a CMake en CMakeLists?media? ¿Se supone que se llama una vez por árbol de construcción o qué? ¿Cómo uso diferentes configuraciones para cada compilación si todas usan el mismo archivo CMakeLists.txt de la misma fuente? ¿Por qué cada subdirectorio necesita su propio archivo CMakeLists? ¿Tendría sentido usar CMake en un CMakeLists.txt que no sea el que está en la raíz del proyecto? Si es así, ¿en qué casos? ¿Cuál es la diferencia entre especificar cómo construir un archivo ejecutable o biblioteca a partir del archivo CMakeLists en su propio subdirectorio versus hacerlo en el archivo CMakeLists en la raíz de todas las fuentes? ¿Puedo hacer un proyecto para Eclipse y otro para Visual Studio, solo cambiando el-G opción al llamar a CMake? ¿Es así como se usa?

Ninguno de los tutoriales, páginas de documentación o preguntas / respuestas que he visto hasta ahora ofrece información útil para entender cómo usar CMake. Los ejemplos simplemente no son exhaustivos. No importa qué tutoriales lea, siento que me falta algo importante.

Los novatos de CMake como yo hacen muchas preguntas que no lo hacen explícitamente, pero que hacen obvio el hecho de que, como novatos, no tenemos idea de cómo tratar con CMake o qué hacer con él.

Respuestas a la pregunta(2)

Su respuesta a la pregunta