| # 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é." | |