This is an old revision of the document!
Il est aussi indispensable d'avoir intégré les concepts de base de SVN (repository/checkout/update/commit/…).
Un tutoriel en francais peut être trouvé sur le site openClassRoom (anciennement connu comme “Site du Zero”).
Compilation de Metafor sous Linux (by hand)
La compilation de Metafor se fait en 3 étapes :
- la récupération des sources
- la génération des Makefiles
- la compilation proprement-dite
Récupération des sources Metafor sous Linux
La récupération des sources Metafor sous Linux se fait en ligne de commande :
- considérons que l'on se trouve dans un répertoire à partir duquel on dispose de suffisamment d'espace (~1Gb) : disons
~/Dev/Meta
- sachant que :
- les répository se trouvent sur
blueberry
dans le répertoire ~metafor/SVN oo_meta
: répository des sources Metaforoo_nda
: répository des NDA Metafor- l'accès aux répository se fait par
ssh
- la récupération des sources se fait via les commandes (remplacer userName par votre identifiant)
svn co svn+ssh://userName@blueberry.ltas.ulg.ac.be/home/metafor/SVN/oo_meta/trunk oo_meta
svn co svn+ssh://userName@blueberry.ltas.ulg.ac.be/home/metafor/SVN/oo_nda/trunk oo_nda
- Il en résulte 2 répertoires :
~/Dev/Meta/oo_meta
~/Dev/Meta/oo_nda
- A côté de ces 2 ensembles de sources, il est nécessaire de récupérer les sources de
linuxbin
(scripts tels que la batterie de tests) etparasolid
(interface avec la bibliothèque CAO Parasolid). Ces deux modules utilisent le système git au lieu de SVN.
git clone https://github.com/ulgltas/linuxbin.git git clone userName@blueberry.ltas.ulg.ac.be:/home/metafor/GIT/parasolid.git
Génération des Makefiles
En plus des 4 répertoires de sources, il nécessaire de générer un répertoire dans lequel Metafor sera compilé. Nommons-le “MetaBin” (son nom importe peu, son positionnement à coté des sources est, lui, indispensable).
La génération des Makefiles se fait via CMake dans le répertoire de compilation
~/Dev/Meta/MetaBin
- la génération des makefiles se fait via la commande:
cmake -C ../oo_meta/CMake/configMachine.cmake ../oo_meta
: pour générer un exécutable Release (defaut)cmake -C ../oo_meta/CMake/configMachine.cmake -D CMAKE_BUILD_TYPE=Debug ../oo_meta
: pour générer un exécutable debug
- où
configMachine
est remplacé par le nom de la machine éventuellement d'un choix d'options prédéfini dans le fichier. Exemple:blueberry.cmake
: compilation par défaut surblueberry
(compilateur intelicc
)blueberry-gcc.cmake
: compilation surblueberry
avec le compilateur GNUgcc
thorgal.cmake
: compilation par défaut surthorgal
(gcc
)thorgal-icc.cmake
: compilation par défaut surthorgal
(gcc
)fabulous.cmake
: configuration par défaut surfabulous
(icc
)fabulous-gcc.cmake
: configuration surfabulous
avec le compilateur GNU (gcc
)- …
- Le nom seul de la machine donnant la configuration par défaut (utilisée par la batterie de test).
Compilation
La compilation se fait à partir du répertoire de génération :
- dans notre exemple :
~/Dev/Meta/MetaBin
- via la commande:
make
: pour une compilation sur 1 coeurmake -j n
: pour une compilation sur n coeurs