]> Creatis software - gdcm.git/blobdiff - setup.py
Clean up with JPR. Frog
[gdcm.git] / setup.py
index 983c54fc74908fbdddaa97e49277613b694d1630..4a75e2d0af31082b7fb9e2fe66dc0021c3e14499 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1,27 +1,31 @@
 from distutils.core import setup
-import glob, os, sys
+import glob, os, sys, shutil
 from distutilsSwigCPlusPlus import *
 
-PythonIncludes=os.path.join(sys.exec_prefix, 'include')
-PythonIncludes=os.path.join(PythonIncludes, 'python' + sys.version[:3])
-
 ThisModule='gdcmPython'
-
-gdcmSrcDir="src"
 gdcmPythonSrcDir=ThisModule
+gdcmSrcDir      ="src"
+gdcmDictsDir    ="Dicts"
+gdcmDataDir     ="Data"
 
 # Due to a disutil oddity on Unices : see
 # http://aspn.activestate.com/ASPN/Mail/Message/distutils-sig/588325
 if(os.name=='posix'):
-       targetDir=os.path.join('lib', 'python' + sys.version[:3])
-       targetDir=os.path.join(targetDir, 'site-packages')
-       ExtraPath=ThisModule
+   targetDir=os.path.join('lib','python'+sys.version[:3],'site-packages')
+   libraries=["stdc++"]
+   macros   =[('__STDC_LIMIT_MACROS', '1')]
 else:
-       targetDir='Lib'
-       ExtraPath=os.path.join(targetDir,ThisModule)
+   targetDir=os.path.join('lib','site-packages')
+   libraries=["WSOCK32"]
+   macros   =[]
 
 targetDir=os.path.join(targetDir, ThisModule)
 
+Sources = []
+Sources.extend(glob.glob(os.path.join(gdcmSrcDir,"*.cxx")))
+Sources.extend(glob.glob(os.path.join(gdcmSrcDir,"*.h")))
+Sources.append(os.path.join(gdcmPythonSrcDir,"gdcm.i"))
+
 setup(name=ThisModule,
       version="0.1",
       description="...",
@@ -29,30 +33,19 @@ setup(name=ThisModule,
       author_email="frog@creatis.insa-lyon.fr",
       url="http://www.creatis.insa-lyon.fr/",
       packages=[ gdcmPythonSrcDir,
-                 gdcmPythonSrcDir + '.demo',
-               ],
-      #package_dir={'':'python'},
-      #extra_path = "zob",
+                 gdcmPythonSrcDir + '.demo' ],
       cmdclass={'build_ext':mybuild_ext}, # redirects default build_ext
       ext_modules=[MyExtension(
                    name='_gdcm',
-                   sources=[os.path.join(gdcmSrcDir, "gdcmDict.cxx"),
-                            os.path.join(gdcmSrcDir, "gdcmDictEntry.cxx"),
-                            os.path.join(gdcmSrcDir, "gdcmDictSet.cxx"),
-                            os.path.join(gdcmSrcDir, "gdcmElValSet.cxx"),
-                            os.path.join(gdcmSrcDir, "gdcmElValue.cxx"),
-                            os.path.join(gdcmSrcDir, "gdcmFile.cxx"),
-                            os.path.join(gdcmSrcDir, "gdcmHeader.cxx"),
-                            os.path.join(gdcmSrcDir, "gdcmUtil.cxx"),
-                            os.path.join(gdcmPythonSrcDir, "gdcm.i")],
-                   include_dirs=[gdcmSrcDir, PythonIncludes],
-                   libraries=["stdc++"],
-                   #library_dirs=[VTK_LIB_DIR],
+                   sources=Sources,
+                   include_dirs=[gdcmSrcDir],
+                   libraries=libraries,
+                   define_macros=macros,
                    swig_cpp=1,
-                   swig_include=[gdcmSrcDir] ) ],
+                   swig_include=[ gdcmSrcDir] ) ],
       data_files=[(os.path.join(targetDir,"Data"),
-                   glob.glob(os.path.join("Data","*.*"))),
+                   glob.glob(os.path.join(gdcmDataDir,"*.*"))),
                   (os.path.join(targetDir,"Dicts"),
-                   glob.glob(os.path.join("Dicts","*.*"))),
+                   glob.glob(os.path.join(gdcmDictsDir,"*.*"))),
                 ]
      )