Ну самый простой способ - это сделать свой cmake проект-обертку, в котором все что надо сгенерировать, а уже в нем последним шагом вызвать обычный билд есп
А ваш генерируемый cmakelist.txt - это тот который в корне проекта, или глубоко в папочках? Если в основном cmakelist.txt сперва вызвать ваш скрипт (до project(...) - это разве не сработает?
можешь не делать, но рекомендуется. Контакты GPIO на ESP8266 могут ловить наводки из воздуха, чтоб не было случайных чисел или случайных срабатываний тех же кнопок - нужен подтягивающий резистор