commit:2010:06_06
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
commit:2010:06_06 [2010/06/06 09:11] – created boman | commit:2010:06_06 [2016/03/30 15:23] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Commit 2010-05-25 ====== | ||
+ | ===== Modifs ===== | ||
+ | |||
+ | |||
+ | |||
+ | ==== Projet CMake ==== | ||
+ | |||
+ | Je me suis lancé dans la mise en place d'un nouveau système de compilation pour le source Metafor. Il s'agit de [[http:// | ||
+ | |||
+ | CMake est analogue à autoconf sous Unix mis à part qu'il marche aussi sous Windows et qu'il est beaucoup plus moderne. Pour ceux qui ne connaissent pas autoconf, ce type de programme permet de générer des makefiles à partir de modèles et de paramètres spécifiques à la machine sur laquelle on veut compiler. Ces paramètres peuvent être des options de compilation, | ||
+ | |||
+ | Jusqu' | ||
+ | |||
+ | En résumé, les avantages de CMake sont nombreux: | ||
+ | * Unification des projets Visual Studio et Makefiles Unix: le système CMake est multi-plateforme et peut générer toutes sortes de projets, dont ceux que nous utilisons aujourd' | ||
+ | * A terme, plus besoin du projet de Luc. | ||
+ | * Le programme '' | ||
+ | * Unification des options de compilation sous Visual Studio (avec le projet actuel, qui peut être sûr que les 45 projets actuels sous Visual sont configurés de la même manière, avec les mêmes options de configuration? | ||
+ | * Possibilité de changer facilement de compilateur (Intel sous Windows?). J'ai en effet remarqué que passer d'un compilateur à l' | ||
+ | * Possibilité de générer des projets où certaines options sont désactivées (Metafor sans interface graphique, Avec ou sans solveurs PetSc/ | ||
+ | * Utilisation de règles d' | ||
+ | * Possibilité d' | ||
+ | |||
+ | Actuellement, | ||
+ | |||
+ | __Procédure graphique: | ||
+ | |||
+ | CMake permet de séparer totalement le source des binaires (c'est pas obligatoire mais c'est recommandé). On va donc suivre cette manière de faire. | ||
+ | |||
+ | - lancer CMake | ||
+ | - spécifier oo_meta comme repertoire de source. | ||
+ | - spécifier oo_metabin (ou autre) comme repertoire des binaires (ce répertoire peut être placé n' | ||
+ | - lancer " | ||
+ | - choisir sa plateforme (p. expl. " | ||
+ | - spécifier manuellement tous les chemins que CMake n'a pas trouvé. | ||
+ | - adapter les options ('' | ||
+ | - remoulinez tout (bouton " | ||
+ | - lancer la génération de la solution | ||
+ | |||
+ | __Procédure automatique: | ||
+ | |||
+ | Comme vous pouvez le voir, la procédure de config est longue, surtout si CMake ne trouve pas automatiquement vos libs (sous Windows, il y a peu de chance qu'il y arrive). J'ai donc créé un fichier de config pour ma machine qui convient à tous ceux qui utilisent mes libs (Vinciane, Arnaud Collet et moi) | ||
+ | |||
+ | Sans le répertoire racine de oo_meta: | ||
+ | |||
+ | mkdir oo_metabin | ||
+ | cd oo_metabin | ||
+ | cmake -G " | ||
+ | |||
+ | et voilà, toutes les valeurs devraient être remplies et le projet créé! Si on veut à ce stade modifier une option, il est possible de lancer l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | __La suite__: | ||
+ | * Adaptation du système sous linux. | ||
+ | * Adaptation de Metafor pour qu'il puisse retrouver l' | ||
+ | * Suppression des fichiers autoconf. | ||
+ | |||
+ | ==== TFE B.Mersayeva ==== | ||
+ | |||
+ | Ajout de 2 tests du mailleur anisotrope | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | ===== Projet ====== | ||
+ | |||
+ | |||
+ | ===== Fichiers ajoutés/ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | --- // |