setup.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 variables
  7. from build_ext import update_opts
  8. from distutils.core import setup, Extension
  9. macros = [('PACKAGE', '"grasslibs"')]
  10. inc_dirs = [os.path.join(variables['GRASS_HOME'],
  11. 'dist.' + variables['ARCH'],
  12. 'include')]
  13. lib_dirs = [os.path.join(variables['GRASS_HOME'],
  14. 'dist.' + variables['ARCH'],
  15. 'lib')]
  16. libs = ['grass_dbmibase',
  17. 'grass_dbmiclient',
  18. 'grass_vect',
  19. 'grass_gis',
  20. 'grass_vedit']
  21. extras = []
  22. for flag in ('GDALCFLAGS',
  23. 'GDALLIBS',
  24. 'GEOSCFLAGS',
  25. 'WXWIDGETSCXXFLAGS'):
  26. update_opts(flag, macros, inc_dirs, lib_dirs, libs, extras)
  27. if sys.platform != 'darwin':
  28. update_opts('WXWIDGETSLIB', macros, inc_dirs, lib_dirs, libs, extras)
  29. setup(
  30. ext_modules= [
  31. Extension(
  32. name = '_grass7_wxvdigit',
  33. sources = ["cats.cpp",
  34. "driver.cpp",
  35. "driver_draw.cpp",
  36. "driver_select.cpp",
  37. "line.cpp",
  38. "message.cpp",
  39. "select.cpp",
  40. "undo.cpp",
  41. "vertex.cpp",
  42. "pseudodc.cpp",
  43. "digit.cpp",
  44. "grass7_wxvdigit.i"],
  45. swig_opts = ['-c++',
  46. '-shadow'],
  47. define_macros = macros,
  48. include_dirs = inc_dirs,
  49. library_dirs = lib_dirs,
  50. libraries = libs,
  51. extra_link_args = extras,
  52. )
  53. ]
  54. )