#!/bin/bash # Script para ejecutar clang-tidy en múltiples directorios # Uso: ./run_clang-tidy.sh # Lista de rutas donde ejecutar clang-tidy PATHS=( "/home/sergio/gitea/coffee_crisis_arcade_edition/source" "/home/sergio/gitea/coffee_crisis_arcade_edition/source/sections" "/home/sergio/gitea/coffee_crisis_arcade_edition/source/ui" ) # Ruta del directorio build (relativa desde donde se ejecuta el script) BUILD_DIR="/home/sergio/gitea/coffee_crisis_arcade_edition/build/" # Función para procesar un directorio process_directory() { local dir="$1" echo "=== Procesando directorio: $dir ===" # Verificar que el directorio existe if [[ ! -d "$dir" ]]; then echo "Error: El directorio $dir no existe" return 1 fi # Cambiar al directorio y ejecutar find con -maxdepth 1 para un solo nivel cd "$dir" || return 1 # Buscar archivos .cpp, .h, .hpp solo en el nivel actual (no subdirectorios) find . -maxdepth 1 \( -name '*.cpp' -o -name '*.h' -o -name '*.hpp' \) | \ xargs -P4 -I{} bash -c 'echo "Procesando: {}"; clang-tidy {} -p '"$BUILD_DIR"' --fix' echo "=== Completado: $dir ===" echo } # Procesar cada directorio en la lista for path in "${PATHS[@]}"; do process_directory "$path" done echo "¡Proceso completado para todos los directorios!"