if( HAVE_PYTHON )

  configure_file( setup.py.in setup.py )
  configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../src/common/magics_api.h magics_api.h COPYONLY )
  configure_file( numpy.i numpy.i COPYONLY )
  configure_file( Magics_interface.cc Magics_interface.cc COPYONLY )
  configure_file( Magics.i.in Magics/Magics.i )

  # Copy python modules to build area
  # configure_file ensures the copy is triggered if the file changes
  configure_file( Magics/__init__.py Magics/__init__.py COPYONLY )
  configure_file( Magics/macro.py Magics/macro.py COPYONLY )
  configure_file( Magics/toolbox.py Magics/toolbox.py COPYONLY )
  configure_file( Magics/metgram.py Magics/metgram.py COPYONLY )

  set( _magics_swig "_Magics${CMAKE_SHARED_LIBRARY_SUFFIX}" )
  # Build the extension module for use in build tree with RPATH pointing to the build tree
  add_custom_command( OUTPUT ${_magics_swig}
    COMMAND ${PYTHON_EXECUTABLE} setup.py build_ext --inplace --rpath ${CMAKE_BINARY_DIR}/lib
    DEPENDS Magics_interface.cc Magics.i.in numpy.i setup.py.in MagPlus )
  add_custom_target(build_swig_wrapper ALL DEPENDS ${_magics_swig})

  # Build the extension module for use in install tree with RPATH pointing to install tree
  install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py build_ext --rpath ${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
  # Call distutils for installation
  install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py install --root \$ENV{DESTDIR}/ --prefix ${CMAKE_INSTALL_PREFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")

endif()
