setup.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/usr/bin/env python
  2. # Setup script for wxGUI vdigit extension.
  3. import os
  4. import sys
  5. sys.path.append('..')
  6. from build_ext import update_opts
  7. from distutils.core import setup, Extension
  8. if sys.platform == "win32":
  9. package = '\\"grasslibs\\"'
  10. else:
  11. package = '"grasslibs"'
  12. macros = [('PACKAGE', package)]
  13. inc_dirs = [os.path.join(os.path.normpath(os.getenv('ARCH_DISTDIR')), 'include'),
  14. os.path.join(os.path.normpath(os.getenv('GISBASE')), 'include')]
  15. lib_dirs = [os.path.join(os.path.normpath(os.getenv('ARCH_DISTDIR')), 'lib'),
  16. os.path.join(os.path.normpath(os.getenv('GISBASE')), 'lib')]
  17. libs = ['grass_gis',
  18. 'grass_nviz',
  19. 'grass_ogsf',
  20. 'grass_g3d']
  21. extras = []
  22. for flag in ['CXXFLAGS',
  23. 'GDALCFLAGS',
  24. 'GDALLIBS',
  25. 'WXWIDGETSCXXFLAGS',
  26. 'OPENGLINC',
  27. 'OPENGLLIB',
  28. 'OPENGLULIB']:
  29. update_opts(os.getenv(flag), macros, inc_dirs, lib_dirs, libs, extras)
  30. if sys.platform != 'darwin':
  31. update_opts(os.getenv('WXWIDGETSLIB'), macros, inc_dirs, lib_dirs, libs, extras)
  32. if os.getenv('OPENGL_X11') == '1':
  33. update_opts(os.getenv('XCFLAGS'), macros, inc_dirs, lib_dirs, libs, extras)
  34. setup(
  35. ext_modules= [
  36. Extension(
  37. name = '_grass7_wxnviz',
  38. sources=["change_view.cpp",
  39. "draw.cpp",
  40. "init.cpp",
  41. "lights.cpp",
  42. "load.cpp",
  43. "surface.cpp",
  44. "vector.cpp",
  45. "volume.cpp",
  46. "grass7_wxnviz.i"],
  47. swig_opts = ['-c++',
  48. '-shadow'],
  49. define_macros = macros,
  50. include_dirs = inc_dirs,
  51. library_dirs = lib_dirs,
  52. libraries = libs,
  53. extra_link_args = extras,
  54. )
  55. ]
  56. )