Skip to content
Snippets Groups Projects
Gabriel Studer's avatar
Studer Gabriel authored
This commit doesn't make OpenStructure work with Python 3. The goal of this
commit was to perform an automated port of the Python code and make it compile.
The performed steps:

- Edited CMakeLists.txt to search for Python with 3.6 as min version 3.6 is the
  Python version shipped by default with Ubuntu 18.04 LTS
- Add version 3.6 to cmake_support/FindPython.cmake
- Adapt setup_boost macro in cmake_support/OST.cmake to prefer versioned
  libraries and not first check for boost_python.so. In the example of
  Ubuntu 18.04, libboost_python.so is specific for Python 2 but
  libboost_python3.so is the one we want.
- apply the following command: 2to3-2.7 -n -w <OST_DIR>
- adapt base/pymod/wrap_base.cc, gui/pymod/wrap_gui.cc and
  gui/pymod/export_message_widget.cc as PyString functionalities do not exist
  anymore in the Python 3 interpreter (replaced by PyUnicode)
- adapt gui/src/python_shell/python_interpreter_worker.hh to resolve issue
  discussed in https://stackoverflow.com/questions/23068700/embedding-python3-in-qt-5
  Long story short: Qt does a typedef for "slots" which causes trouble with
  other headers that are pulled in from the Python interpreter
6e60b71d
History
Name Last commit Last update
..
code_fragments
demos
gfx