~~NOTOC~~ ===== 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: * [[http://www.cmake.org/|CMake]] : générateur de projet * [[http://www.swig.org/|SWIG]] : interface c++/python * [[https://www.python.org/|Python]] : interface utilisateur de Metafor * [[https://www.threadingbuildingblocks.org/|Intel TBB]] : librairie template de parallélisation C++ * [[https://software.intel.com/en-us/intel-mkl|Intel MKL]] : librairie mathématique (BLAS & solveur linéaire) * [[http://www.vtk.org/|VTK]] : librairie de dessin 3D (interface graphique) * [[http://qt-project.org/|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 {{ :devel:vs2012tabs.jpg?400 |}} === 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 [[devel:gitconfig|]]. ATTENTION : * pour éviter d'envoyer des crasses sur les serveurs git, il est important de configurer correctement son client ... [[devel:gitconfig]] 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 : * [[http://www.xoreax.com/|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 * [[http://www.araxis.com/|Araxis Merge]]: diffs entre fichiers * Utilisation de Araxis Merge avec TortoiseSVN : {{ :devel:tortoisearaxis.png?400 |}} * [[http://notepad-plus-plus.org/|Notepad++]]: editeur de texte * [[http://www.editpadpro.com/|Editpad Pro]]: éditeur texte * [[http://www.powergrep.com/|PowerGrep]]: search/replace dans le source * ...