diff --git a/MantidPlot/CMakeLists.txt b/MantidPlot/CMakeLists.txt
index 0fa6c5e8c92a0f303a443f5eacf5d12f6e5b2b46..49ab8a2fe0aa533d17989303e36ca1dbdaa09d31 100644
--- a/MantidPlot/CMakeLists.txt
+++ b/MantidPlot/CMakeLists.txt
@@ -443,9 +443,10 @@ set( SRC_UNITY_IGNORE_FILES )
 # disabled. In order for VS2010 to to this correctly the second
 # custom command below is required along with the committed
 # src/sipqti.cpp.rule file.
+set ( MANTIDQTPYTHON_SIP_DIR  ${CMAKE_CURRENT_SOURCE_DIR}/../qt/python/mantidqtpython)
 add_custom_command ( OUTPUT ${SIP_SRC_AUTO}
                      COMMAND ${SIP_EXECUTABLE}
-                          -I ${PYQT4_SIP_DIR} -I ${CMAKE_CURRENT_SOURCE_DIR}/../qt/python ${PYQT4_SIP_FLAGS}
+                          -I ${PYQT4_SIP_DIR} -I ${MANTIDQTPYTHON_SIP_DIR}  ${PYQT4_SIP_FLAGS}
                           -c ${CMAKE_CURRENT_BINARY_DIR} -j1 -w -o
                           ${SIP_SPEC}
                      DEPENDS src/qti.sip ${SIP_HDRS}
diff --git a/qt/python/CMakeLists.txt b/qt/python/CMakeLists.txt
index 629939ecd412e92cb53117c6e440598072270f3d..7e9a393f5e028b6bc87aac2ee9a55e94ea939c9a 100644
--- a/qt/python/CMakeLists.txt
+++ b/qt/python/CMakeLists.txt
@@ -1,171 +1,2 @@
-###########################################################################
-# Do the sip generation, for python bindings
-###########################################################################
-
-include_directories ( ${PYTHON_INCLUDE_PATH} )
-
-set ( SIP_SPEC ${CMAKE_CURRENT_SOURCE_DIR}/mantidqt.sip )
-set ( SIP_SRC_IN ${CMAKE_CURRENT_SOURCE_DIR}/sip_mantidqt.cpp.in )
-set ( SIP_SRC ${CMAKE_CURRENT_BINARY_DIR}/sip_mantidqt.cpp )
-set ( SIP_SRC_AUTO sipmantidqtpythonpart0.cpp )
-
-# Sip needs to have a dependency on all headers within it
-set ( SIP_HDRS
-  ../widgets/common/inc/MantidQtWidgets/Common/PythonSystemHeader.h
-  ../widgets/common/inc/MantidQtWidgets/Common/WorkspaceObserver.h
-  ../widgets/common/inc/MantidQtWidgets/Common/GraphOptions.h
-  ../widgets/common/inc/MantidQtWidgets/Common/AlgorithmDialog.h
-  ../widgets/common/inc/MantidQtWidgets/Common/UserSubWindow.h
-  ../widgets/common/inc/MantidQtWidgets/Common/InterfaceManager.h
-  ../widgets/common/inc/MantidQtWidgets/Common/MantidDesktopServices.h
-  ../widgets/common/inc/MantidQtWidgets/Common/MWRunFiles.h
-  ../widgets/common/inc/MantidQtWidgets/Common/WidgetScrollbarDecorator.h
-  ../widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewerWindow.h
-  ../widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/LineViewer.h
-  ../widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/PeaksPresenter.h
-  ../widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/ProxyCompositePeaksPresenter.h
-  ../widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/PeaksPresenter.h
-  ../widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewer.h
-  ../widgets/factory/inc/MantidQtWidgets/Factory/WidgetFactory.h
-  ../widgets/refdetectorview/inc/MantidQtWidgets/RefDetectorView/RefIVConnections.h
-  ../widgets/refdetectorview/inc/MantidQtWidgets/RefDetectorView/RefMatrixWSImageView.h
-  ../widgets/common/inc/MantidQtWidgets/Common/FitPropertyBrowser.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorWhiteList.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorPreprocessMap.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorProcessingAlgorithm.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorPostprocessingAlgorithm.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/QDataProcessorWidget.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorMainPresenter.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorAppendRowCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorAppendGroupCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorClearSelectedCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorCopySelectedCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorCutSelectedCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorDeleteGroupCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorDeleteRowCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorExpandCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorExportTableCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorGroupRowsCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorImportTableCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorNewTableCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorOpenTableCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorOptionsCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorPasteSelectedCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorPlotGroupCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorPlotRowCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorProcessCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorSaveTableCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorSaveTableAsCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorSeparatorCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorWorkspaceCommand.h
-  ../widgets/common/inc/MantidQtWidgets/Common/SlitCalculator.h
-  ../widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidgetTab.h
-  ../widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidget.h
-  ../widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidgetRenderTab.h
-  ../widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidgetPickTab.h
-  ../widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidgetMaskTab.h
-  ../widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidgetTreeTab.h
-)
-
-set( SRC_UNITY_IGNORE_FILES )
-
-###########################################################################
-# Sip generated files
-###########################################################################
-
-# The code generated by sip causes compiler warnings therefore the 
-# generated file is wrapped by ${SIP_SRC} and these warnings are
-# disabled. In order for VS2010 to to this correctly the second
-# custom command below is required
-
-# Flags used: 
-# -e : C++ exceptions turn into python exceptions.
-# -j1 : split into 1 file
-# -w : enable warnings
-# -o : automatic docstrings (not supported in old version < 4.10)
-
-add_custom_command ( OUTPUT ${SIP_SRC_AUTO}
-                     COMMAND ${SIP_EXECUTABLE}
-                          -I ${PYQT4_SIP_DIR} ${PYQT4_SIP_FLAGS}
-                          -c ${CMAKE_CURRENT_BINARY_DIR} -j1 -w 
-                          -e 
-                          ${SIP_SPEC}
-                     DEPENDS mantidqt.sip ${SIP_HDRS}
-                     COMMENT "Generating mantidqt python bindings using sip"
-)
-
-add_custom_command ( OUTPUT ${SIP_SRC}
-                     COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${SIP_SRC_IN} ${SIP_SRC}
-                     DEPENDS ${SIP_SRC_AUTO}
-                     COMMENT ""
-)                     
-
-# Needed for sip.h header that can end up in a different place to to the main Python include directory
-include_directories ( SYSTEM ${SIP_INCLUDE_DIR} )
-
-# Needed for sip generated files to find includes in src
-include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} )
-
-# Other folders that need to be included...
-include_directories ( ../widgets/sliceviewer/inc )
-include_directories ( ../widgets/common/inc )
-include_directories ( ../widgets/instrumentview/inc )
-include_directories ( ../widgets/factory/inc )
-include_directories ( ../widgets/spectrumviewer/inc )
-include_directories ( ../widgets/refdetectorview/inc )
-include_directories ( ${CMAKE_CURRENT_BINARY_DIR}/../widgets/sliceviewer ) # to find the ui_*.h auto-generated files
-include_directories ( ${CMAKE_CURRENT_BINARY_DIR}/../widgets/refdetectorview ) # to find the ui_*.h auto-generated files
-
-# This creates the target library, just for python bindings
-add_library ( mantidqtpython MODULE ${SIP_SRC} )
-
-if(WIN32)
-  # Windows: Python library name needs to end in .pyd for Windows
-  set_target_properties( mantidqtpython PROPERTIES PREFIX "" SUFFIX ".pyd" )
-  # Debug python library expects imported module names to end in _d
-  if ( PYTHON_DEBUG_LIBRARY )
-    set_target_properties ( mantidqtpython PROPERTIES DEBUG_OUTPUT_NAME mantidqtpython_d )
-  endif ()
-  # For a debug build copy the special PyQt4 debug build to the bin directory
-  add_custom_command (
-    TARGET mantidqtpython
-    POST_BUILD
-    COMMAND if 1==$<CONFIG:Debug> ${CMAKE_COMMAND} 
-      -E copy_directory ${PYTHON_DIR}/msvc-site-packages/debug/PyQt4 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/PyQt4
-    COMMENT "Copying debug PyQt4 to bin"
-  )
-    
-elseif ( APPLE )
-	# Mac: and in .so on the Mac, with no "lib" prefix either
-  	set_target_properties ( mantidqtpython PROPERTIES PREFIX "" SUFFIX .so )
-
-if (OSX_VERSION VERSION_GREATER 10.8)
-  set_target_properties ( mantidqtpython PROPERTIES INSTALL_RPATH "@loader_path/../MacOS")
-endif () 
-
-else ()
-	# Linux: needs to NOT have the usual "lib" prefix. 
-	set_target_properties( mantidqtpython PROPERTIES PREFIX "" )
-endif ()
-
-# ... and links to other required libs ...
-target_link_libraries ( mantidqtpython LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
-            MantidQtWidgetsCommon
-            MantidQtWidgetsSliceViewer
-            MantidQtWidgetsFactory
-            MantidQtWidgetsRefDetectorView
-            MantidQtWidgetsInstrumentView
-            ${CORE_MANTIDLIBS}
-            ${POCO_LIBRARIES}
-            ${Boost_LIBRARIES}
-            ${QT_LIBRARIES}
-            ${QWT_LIBRARIES}
-            ${PYTHON_LIBRARIES}
-            )
-
-
-###########################################################################
-# Installation settings
-###########################################################################
-
-install ( TARGETS mantidqtpython DESTINATION ${BIN_DIR} )
+# Legacy wrappers for MantidPlot
+add_subdirectory ( mantidqtpython )
diff --git a/qt/python/mantidqtpython/CMakeLists.txt b/qt/python/mantidqtpython/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..abe26f33c55c13817a7fdd62375d0414934591bf
--- /dev/null
+++ b/qt/python/mantidqtpython/CMakeLists.txt
@@ -0,0 +1,173 @@
+###########################################################################
+# Do the sip generation, for python bindings
+###########################################################################
+
+include_directories ( ${PYTHON_INCLUDE_PATH} )
+
+set ( SIP_SPEC ${CMAKE_CURRENT_SOURCE_DIR}/mantidqt.sip )
+set ( SIP_SRC_IN ${CMAKE_CURRENT_SOURCE_DIR}/sip_mantidqt.cpp.in )
+set ( SIP_SRC ${CMAKE_CURRENT_BINARY_DIR}/sip_mantidqt.cpp )
+set ( SIP_SRC_AUTO sipmantidqtpythonpart0.cpp )
+
+# Sip needs to have a dependency on all headers within it
+set ( WIDGETS_SRC_DIR ../../widgets )
+set ( SIP_HDRS
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/PythonSystemHeader.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/WorkspaceObserver.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/GraphOptions.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/AlgorithmDialog.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/UserSubWindow.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/InterfaceManager.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/MantidDesktopServices.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/MWRunFiles.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/WidgetScrollbarDecorator.h
+  ${WIDGETS_SRC_DIR}/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewerWindow.h
+  ${WIDGETS_SRC_DIR}/sliceviewer/inc/MantidQtWidgets/SliceViewer/LineViewer.h
+  ${WIDGETS_SRC_DIR}/sliceviewer/inc/MantidQtWidgets/SliceViewer/PeaksPresenter.h
+  ${WIDGETS_SRC_DIR}/sliceviewer/inc/MantidQtWidgets/SliceViewer/ProxyCompositePeaksPresenter.h
+  ${WIDGETS_SRC_DIR}/sliceviewer/inc/MantidQtWidgets/SliceViewer/PeaksPresenter.h
+  ${WIDGETS_SRC_DIR}/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewer.h
+  ${WIDGETS_SRC_DIR}/factory/inc/MantidQtWidgets/Factory/WidgetFactory.h
+  ${WIDGETS_SRC_DIR}/refdetectorview/inc/MantidQtWidgets/RefDetectorView/RefIVConnections.h
+  ${WIDGETS_SRC_DIR}/refdetectorview/inc/MantidQtWidgets/RefDetectorView/RefMatrixWSImageView.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/FitPropertyBrowser.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorWhiteList.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorPreprocessMap.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorProcessingAlgorithm.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorPostprocessingAlgorithm.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/QDataProcessorWidget.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorMainPresenter.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorAppendRowCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorAppendGroupCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorClearSelectedCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorCopySelectedCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorCutSelectedCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorDeleteGroupCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorDeleteRowCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorExpandCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorExportTableCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorGroupRowsCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorImportTableCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorNewTableCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorOpenTableCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorOptionsCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorPasteSelectedCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorPlotGroupCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorPlotRowCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorProcessCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorSaveTableCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorSaveTableAsCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorSeparatorCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorWorkspaceCommand.h
+  ${WIDGETS_SRC_DIR}/common/inc/MantidQtWidgets/Common/SlitCalculator.h
+  ${WIDGETS_SRC_DIR}/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidgetTab.h
+  ${WIDGETS_SRC_DIR}/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidget.h
+  ${WIDGETS_SRC_DIR}/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidgetRenderTab.h
+  ${WIDGETS_SRC_DIR}/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidgetPickTab.h
+  ${WIDGETS_SRC_DIR}/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidgetMaskTab.h
+  ${WIDGETS_SRC_DIR}/instrumentview/inc/MantidQtWidgets/InstrumentView/InstrumentWidgetTreeTab.h
+)
+
+set( SRC_UNITY_IGNORE_FILES )
+
+###########################################################################
+# Sip generated files
+###########################################################################
+
+# The code generated by sip causes compiler warnings therefore the
+# generated file is wrapped by ${SIP_SRC} and these warnings are
+# disabled. In order for VS2010 to to this correctly the second
+# custom command below is required
+
+# Flags used:
+# -e : C++ exceptions turn into python exceptions.
+# -j1 : split into 1 file
+# -w : enable warnings
+# -o : automatic docstrings (not supported in old version < 4.10)
+
+add_custom_command ( OUTPUT ${SIP_SRC_AUTO}
+                     COMMAND ${SIP_EXECUTABLE}
+                          -I ${PYQT4_SIP_DIR} ${PYQT4_SIP_FLAGS}
+                          -c ${CMAKE_CURRENT_BINARY_DIR} -j1 -w
+                          -e
+                          ${SIP_SPEC}
+                     DEPENDS mantidqt.sip ${SIP_HDRS}
+                     COMMENT "Generating mantidqt python bindings using sip"
+)
+
+add_custom_command ( OUTPUT ${SIP_SRC}
+                     COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${SIP_SRC_IN} ${SIP_SRC}
+                     DEPENDS ${SIP_SRC_AUTO}
+                     COMMENT ""
+)
+
+# Needed for sip.h header that can end up in a different place to to the main Python include directory
+include_directories ( SYSTEM ${SIP_INCLUDE_DIR} )
+
+# Needed for sip generated files to find includes in src
+include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} )
+
+# Other folders that need to be included...
+set ( WIDGETS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../widgets )
+include_directories ( ${WIDGETS_SRC_DIR}/sliceviewer/inc )
+include_directories ( ${WIDGETS_SRC_DIR}/common/inc )
+include_directories ( ${WIDGETS_SRC_DIR}/instrumentview/inc )
+include_directories ( ${WIDGETS_SRC_DIR}/factory/inc )
+include_directories ( ${WIDGETS_SRC_DIR}/spectrumviewer/inc )
+include_directories ( ${WIDGETS_SRC_DIR}/refdetectorview/inc )
+include_directories ( ${WIDGETS_BINARY_DIR}/sliceviewer ) # to find the ui_*.h auto-generated files
+include_directories ( ${WIDGETS_BINARY_DIR}/refdetectorview ) # to find the ui_*.h auto-generated files
+
+# This creates the target library, just for python bindings
+add_library ( mantidqtpython MODULE ${SIP_SRC} )
+
+if(WIN32)
+  # Windows: Python library name needs to end in .pyd for Windows
+  set_target_properties( mantidqtpython PROPERTIES PREFIX "" SUFFIX ".pyd" )
+  # Debug python library expects imported module names to end in _d
+  if ( PYTHON_DEBUG_LIBRARY )
+    set_target_properties ( mantidqtpython PROPERTIES DEBUG_OUTPUT_NAME mantidqtpython_d )
+  endif ()
+  # For a debug build copy the special PyQt4 debug build to the bin directory
+  add_custom_command (
+    TARGET mantidqtpython
+    POST_BUILD
+    COMMAND if 1==$<CONFIG:Debug> ${CMAKE_COMMAND}
+      -E copy_directory ${PYTHON_DIR}/msvc-site-packages/debug/PyQt4 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/PyQt4
+    COMMENT "Copying debug PyQt4 to bin"
+  )
+
+elseif ( APPLE )
+	# Mac: and in .so on the Mac, with no "lib" prefix either
+  	set_target_properties ( mantidqtpython PROPERTIES PREFIX "" SUFFIX .so )
+
+if (OSX_VERSION VERSION_GREATER 10.8)
+  set_target_properties ( mantidqtpython PROPERTIES INSTALL_RPATH "@loader_path/../MacOS")
+endif ()
+
+else ()
+	# Linux: needs to NOT have the usual "lib" prefix.
+	set_target_properties( mantidqtpython PROPERTIES PREFIX "" )
+endif ()
+
+# ... and links to other required libs ...
+target_link_libraries ( mantidqtpython LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
+            MantidQtWidgetsCommon
+            MantidQtWidgetsSliceViewer
+            MantidQtWidgetsFactory
+            MantidQtWidgetsRefDetectorView
+            MantidQtWidgetsInstrumentView
+            ${CORE_MANTIDLIBS}
+            ${POCO_LIBRARIES}
+            ${Boost_LIBRARIES}
+            ${QT_LIBRARIES}
+            ${QWT_LIBRARIES}
+            ${PYTHON_LIBRARIES}
+            )
+
+
+###########################################################################
+# Installation settings
+###########################################################################
+
+install ( TARGETS mantidqtpython DESTINATION ${BIN_DIR} )
diff --git a/qt/python/mantidqtpython/README.md b/qt/python/mantidqtpython/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..0f0bc2e4cc6730aae1f6358a6081d02dc3e79c06
--- /dev/null
+++ b/qt/python/mantidqtpython/README.md
@@ -0,0 +1,2 @@
+This directory contains the MantidQt Python exports for the
+legacy `mantidqtpython` library used by MantidPlot.
diff --git a/qt/python/mantidqt.sip b/qt/python/mantidqtpython/mantidqt.sip
similarity index 100%
rename from qt/python/mantidqt.sip
rename to qt/python/mantidqtpython/mantidqt.sip
diff --git a/qt/python/qwttypes.sip b/qt/python/mantidqtpython/qwttypes.sip
similarity index 100%
rename from qt/python/qwttypes.sip
rename to qt/python/mantidqtpython/qwttypes.sip
diff --git a/qt/python/sip_mantidqt.cpp.in b/qt/python/mantidqtpython/sip_mantidqt.cpp.in
similarity index 100%
rename from qt/python/sip_mantidqt.cpp.in
rename to qt/python/mantidqtpython/sip_mantidqt.cpp.in
diff --git a/qt/python/process_sip.sh b/qt/python/process_sip.sh
deleted file mode 100644
index f3898ee801e4583657c255d55172ecc076bc809f..0000000000000000000000000000000000000000
--- a/qt/python/process_sip.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-# Perform processing of the .sip file to add docstrings
-echo ""
-python ../Build/doxygen_to_sip.py -i mantidqt.in.sip -o mantidqt.sip -d mantidqt_dir.txt
-echo ""
-python ../Build/sip_strip_docstring.py -i mantidqt.sip -o mantidqt.rhel5.sip -w mantidqt_wiki.txt
-echo ""
-