[Dcmlib] compilation python - setup.py

Mathieu Malaterre mathieu.malaterre at kitware.com
Mon Jul 19 16:46:15 CEST 2004


Benoit Regrain wrote:
> Hi,
>  
> Pour la création d'un binaire d'installation de gdcm avec le setup.py :
>  - si on fait un CMake avant le setup.py, alors le setup.py est modifié
> et ne prend que les fichiers placés dans gdcmPython. Les librairies 
> compilées
> ne sont pas ajoutées au binaire d'installation.

Tous les fichiers dans gdcmbin/* sont a considerer generer apres une 
passe cmake.

>  - si on ne fait pas de CMake, il make le fichier gdcmConfigure.h. En le 
> créant
> manuellement, même vide, ca compile.

Une vraie bombe :)

> Le problème est que ce fichier gdcmConfigure.h contient la version de 
> gdcm et est donnée
> par CMake, ce qui oblige à faire un CMake avant.

C'est meme mon but, de tout generer pour que le fichier setup.py 
contienne tout en dur.

> Si on voulait se séparer de CMake à ce niveau là et par exemple créer 
> un  gdcmConfigure.h
> qui contienne des informations de base (comme la version ou le path des 
> dictionnaires),
> on aurait alors des valeurs par défaut dans 2 endroits différents : 
> CMake et ce fichier de base.

Cmake doit pouvoir le faire.

> Mes questions sont donc :
> CMake peut-il aller rechercher des valeurs dans un fichier pour les 
> utiliser par la suite?

Je pense que c'est l'inverse CMake connais des valeurs et pour l'instant 
il ne les ecris que dans la partie c++. Reste a 'augmenter' la 
generation du setup.py

> Y a-t-il un autre moyen, en mettant par exemple ces variables dans un 
> autre fichier qui serait
> appelé dans gdcmConfigure, et par des #define choisir si on prend les 
> valeurs de CMake ou
> du fichier ?
> Mon but dans tout ca serait que le setup.py soit completement 
> indépendant de CMake... enfin
> si c'est une bonne idée.

Je suis pas sur de saisir l'interet. C'est cmake qui compile les 
librairies a installer. Si tu n'utilises pas cmake tu ne peux pas 
generer les libs...bref setup.py n'a rien a installer.

Correct ?

Mathieu





More information about the Dcmlib mailing list