#!/bin/bash # Fonction pour afficher des messages informatifs en vert info() { echo -e "\e[32m[INFO]\e[0m $1" } # Fonction pour afficher des messages d'erreur en rouge error() { echo -e "\e[31m[ERREUR]\e[0m $1" } # --- Début du script --- info "Vérification de l'existence du dossier 'llama.cpp'..." # Vérifie si le dossier 'llama.cpp' n'existe pas if [ ! -d "llama.cpp" ]; then info "Le dossier 'llama.cpp' n'existe pas. Téléchargement en cours..." git clone https://github.com/ggerganov/llama.cpp.git # Vérifie si le clonage a réussi if [ $? -ne 0 ]; then error "Le clonage a échoué. Veuillez vérifier votre connexion Internet ou l'URL du dépôt." exit 1 fi # Entre dans le dossier cloné cd llama.cpp info "Démarrage de la compilation de llama.cpp..." # Crée le dossier de compilation et s'y déplace mkdir -p build && cd build # Exécute la configuration avec CMake, en activant CURL info "Configuration avec CMake..." cmake .. -DLLAMA_CURL=1 # Vérifie si la configuration a réussi if [ $? -ne 0 ]; then error "La configuration CMake a échoué. Assurez-vous que CMake est installé." cd ../.. exit 1 fi # Lance la compilation info "Lancement de la compilation..." cmake --build . --config Release # Vérifie si la compilation a réussi if [ $? -ne 0 ]; then error "La compilation a échoué. Veuillez vérifier les dépendances (make, g++, etc.)." cd ../.. exit 1 fi # Retourne au répertoire initial cd ../.. info "Compilation terminée avec succès !" else info "Le dossier 'llama.cpp' existe déjà. Ignorons le téléchargement et la compilation." fi info "Script terminé."