Configurer sa machine Windows
Pour compiler/executer Metafor, il est nécessaire de disposer
- d'un compilateur (Visual Studio 2017)
- du gestionnaire de source Subversion (SVN)
- du gestionnaire de source git
- d'un ensemble d'outils de compilation/programmes/librairies:
- CMake : générateur de projet
- SWIG : interface c++/python
- Python : interface utilisateur de Metafor
- Intel TBB : librairie template de parallélisation C++
- Intel MKL : librairie mathématique (BLAS & solveur linéaire)
- VTK : librairie de dessin 3D (interface graphique)
- Qt : librairie de gestion de menu/boutons (interface graphique)
- …
A l'exception du compilateur (VS2017), des gestionaires de sources (SVN, git), et des outils de post-traitement numériques (Matlab, scilab), tous ces outils/librairies sont pré-compilés pour vous et packagés dans une archive téléchargeable sur le FTP du service (/ftp/metafor/bin/VS2017Python3_X64/)
Pour exécuter la batterie de test de Metafor, Matlab sera lui aussi nécessaire pour valider certains post-traitements. Le chemin d'accès de l'exécutable ('matlab.exe') doit aussi se trouver dans le path.
Installation du compilateur
Le compilateur par défaut actuellement utilisé pour développer Metafor sous Windows est le Visual Studio 2017 (numéro de version interne : vs 15.0).
La première étape est donc de l'installer (téléchargez l'iso sur le ftp /ftpDisk/apps/_dev/Visual Studio 2012/Visual_Studio_Pro_2012_Eng.ISO) en version anglaise (la gestion des codes d'erreur est buggée en français). Seul le compilateur C++ et les “Microsoft Fundation Classes for C++” sont indispensables.
La deuxième étape est d'appliquer le dernier service pack (/ftpDisk/apps/_dev/Visual Studio 2012/VS2012.5.iso) pour que le compilateur soit à jour.
Enfin, afin d'uniformiser l'écriture du code, l'éditeur doit être configuré pour insérer 4 espace en lieu et place de la tabulation : Tools → Options → Text Editor → All Languages → Tabs ⇒ remplacer “keep tabs” par “Insert Spaces” et “Tab size” = 4
Installation de git
Toutes les sources des modules de Metafor sont gérés par le serveur gitlab de l'université. Pour plus d'information se référer à la page Utiliser git.
ATTENTION :
- pour éviter d'envoyer des crasses sur les serveurs git, il est important de configurer correctement son client … Utiliser git dès maintenant
Installation des librairies
Metafor nécessite une volée de libs (par exemple Python, Qt, VTK, Swig, TCL/TK…) qu'il faut compiler. La solution simple consiste à reprendre les “libs de Luc”:
- Récupérer l'archive sur le ftp dernière archive :
/ftp/metafor/bin/VS2017Python3_X64/LibsVs2017Py3-XXXXXX.zip
- Vérifier que vous n'avez pas d'ancienne libs ou de python installés sur votre machine
- Définir un répertoire racine de vos développements (
E:\Dev
) sur un disque ayant quelques Gb disponibles - Dézipper l'archive sur votre PC (
E:\Dev\LibsVs2017Py3
) - Lire le fichier
E:\Dev\LibsVs2012/README.txt
- Ouvrir une fenetre de commande EN MODE ADMINISTRATEUR (Start → execute → cmd : “as administrator”!!!)
- Installer les Libs : executer la commande suivante:
- “E:\Dev64\LibsVs2017Py3\Python-XXXXX\bin\python E:\Dev64\LibsVs2017Py3\setup.py install”
- remplacer xxxx par le numero de la version de python dans les Libs
- générez un lien vers le fichier E:\Dev64\LibsVs2017Py3\LibsVS2017Py3.cmd et mettez le sur votre bureau, dans votre barre de lancement ou … selon vos habitudes
- En executant le liens vers LibsVS2017Py3.cmd, une fenêtre de commande configurée et contenant toutes les librairies précompilées et les outils nécessaires à la génération du projet.
Utilitaires complémentaires
Une série de programmes complémentaires peuvent être installés pour améliorer votre expérience de programmation :
- Incredibuild: compilation partagée sur le réseau
- télécharger la dernière version sur le ftp : /ftp/apps/_dev/Incredibuild/
- installer en tant que “Agent”
- coordinateur : corto.ltas.ulg.ac.be (effectuer le test pour ouvrir les firewalls)
- installer les “Add-In” pour le Visual Studio 2017
- Araxis Merge: diffs entre fichiers
- Utilisation de Araxis Merge avec TortoiseSVN :
- Notepad++: editeur de texte
- Editpad Pro: éditeur texte
- PowerGrep: search/replace dans le source
- …