[Dcmlib] python build & install

Mathieu Malaterre mathieu.malaterre at kitware.com
Mon Oct 11 05:26:25 CEST 2004


> Ben, en theorie un pythoneur pur ne devrait pas avoir besoin de faire cmake !
> En effet, setup.py sait:
>   - recompiler (make)
>   - installer (make install)
>   - packager des sources (en rpm ou Win32 autoinstaller)
>   - packer des binaires  (en rpm ou Win32 autoinstaller).
> Initialement (avant cmake), un pythoneur n'avait donc pas besoin des
> autotools ni des .dsw-.dsp faits manuellement pour faire toutes les
> taches necessaires.
> Il faisait directement (et au prix des Swig.py et VTK.py qui viennent patcher
> setup.py):
>   python setup.py sdist
>   python setup.py bdist --formats=rpm

Normalement on garde toutes les 'features' du setup.py justement. Mais qd tu dis, python 'sait recompiler' la j'ai un peu de mal a y croire. ITK ne compile sur SGI, avec le compilo natif que depuis ~3 mois alors que le toolkit est sortie il y a plus de 3 ans...
Y'a eu un boulot de fou, fais dans cmake justement pour etre vraiment crossplateforme et surporter /pour de vrai/ un tres grand nombre de compilos.

C'est pour ca que ca me faisait un peu peur de deleguer le boulot a python pour faire ca.

Bon maintenant c'est vrai que comme je suis a l'aise (ou presque) avec cmake, j'ai tendance a preférer l'approche cmake que python.

Un autre avantage, vu que cmake utilise swig en interne. Si on veut wrapper gdcm dans un autre language c'est une modif de deux lignes maxi dans le CMakeLists.txt (bon ensuite y'a /juste/ le .i a ecrire...)


>  - ccmake
>  - make
>  - python setup.py sdist
>  - python setup.py bdist --formats=rpm (ou win32),
> alors je pense que l'on a gagne' du temps...

Normalement ccmake c'est plus intuitif avec l'interface pour regler tes options, qui seront propagé à python... d'ailleurs sous windaube ca marche comment ? Il faut cygwin/cmd pour taper la ligne de commande ?

> Ceci dit, maintenant que cmake rulez, a terme on peut envisager de
> se debarasser de ce setup.py a condition:
>  1/ d'ecrire le .spec pour les rpm qui packagera
>     - les sources,
>     - les binaires,
>     - les pythoneries
>    et la` Fabrice Bellet sait deja faire (pour ITK et VTK)
>  2/ l'equivalent a coup de Innosetup pour Win32...
>    et la` Benoit Regrain sait faire !


Si j'ai bien suivi un des derniers meeting ITK, on va etre financé pour ajouter le packaging dans cmake. Donc ca veut dire rpm au moins, pour windaube je sais pas...


> Probablement pas, mais ceux qui ne s'en contenteront pas pourrons aisement
> modifier ce que tu as fait ! C'est deja nettement plus simple... 

Ben ou lieu de faire 'import gdcm', il faudra faire 'from gdcm import *' pour tout avoir en vrac, et les anciens script python devrait marcher.


Matt





More information about the Dcmlib mailing list