Los pasos de compilación personalizados son útiles para ejecutar objetivos personalizados en la compilación de su proyecto o para copiar fácilmente los archivos para que no tenga que hacerlo manualmente (¿quizás dlls?). Aquí le mostraré dos ejemplos, el primero es para copiar dlls (en particular Qt5 dlls) a su directorio binario de proyectos (ya sea Debug o Release) y el segundo es para ejecutar un objetivo personalizado (Doxygen en este caso) en su solución (Si estás utilizando Visual Studio).
Como puede ver, puede hacer mucho con objetivos de compilación personalizados y pasos en cmake, pero debe tener cuidado al usarlos, especialmente al copiar archivos DLL. Si bien es conveniente hacerlo, a veces puede dar lugar a lo que se llama cariñosamente "infierno dll".
Básicamente, esto significa que puede perderse en qué dlls depende realmente su ejecutable, cuáles se cargan y cuáles necesita ejecutar (tal vez debido a la variable de ruta de su computadora).
¡Aparte de la advertencia anterior, siéntete libre de hacer que los objetivos personalizados hagan lo que quieras! Son potentes y flexibles, y son una herramienta invaluable para cualquier proyecto de creación.