Skip to content

Commit

Permalink
Update README for pypi install
Browse files Browse the repository at this point in the history
  • Loading branch information
robtaylor committed Oct 13, 2023
1 parent 708995e commit 453f645
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 306 deletions.
73 changes: 48 additions & 25 deletions INSTALL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,71 +4,94 @@ Building Coriolis
To build Coriolis, ensure the following prerequisites are met:

* A C++11 compliant compiler.
* Python 3.
* make or ninja.
* cmake.
* Python 3.9 or later
* ninja.
* bzip2
* boost.
* boost
* bison & flex.
* Qt 5 & Qt 5 Svg.
* Qwt
* libxml2.
* RapidJSON, http://rapidjson.org/ .
* Eigen 3, http://eigen.tuxfamily.org .
* Lemon, http://lemon.cs.elte.hu/trac/lemon .
* doxygen
* pelican
* latex

The build system relies on a fixed directory tree from the root
of the user currently building it. Thus first step is to get a clone of
the repository in the right place. Proceed as follow:
Ubuntu/Windows WSL2 Build Environment
=====================================

If you haven't already got them, install `build-essential` and `git`

.. code-block:: bash
$ git clone --recurse-submodules https://github.com/lip6/coriolis
$ cd coriolis
sudo apt install build-essential git ccache
Then, to build Python wheels:
Clone the repo:

.. code-block:: bash
$ poetry build
git clone --recurse-submodules https://github.com/lip6/coriolis
cd coriolis
The wheels can be found in dist and installed using pip:
Install the build dependencies:

.. code-block:: bash
$ pip install dist/*.whl
sudo apt install python3 python3-pip python3.10-venv \
doxygen pelican texlive-latex-recommended \
qtbase5-dev libqt5svg5-dev libqwt-qt5-dev \
rapidjson-dev libboost-all-dev libeigen3-dev libxml2-dev
Mac OSX Build Environment
=========================

To build on Mac, first install _Homebrew: https://brew.sh

Building for Mac OSX
====================
Clone the repo:

.. code-block:: bash
git clone --recurse-submodules https://github.com/lip6/coriolis
cd coriolis
To build on mac, first install _Homebrew: https://brew.sh
To install the prereqisites:

.. code-block:: bash
brew install doxygen qt@5 qwt-qt5 rapidjson boost eigen
brew install ccache doxygen pelican qt@5 qwt-qt5 rapidjson boost eigen
brew install --cask mactex
We need to set these environment variables for finding the cask only components:

.. code-block:: bash
CMAKE_FRAMEWORK_PATH=/opt/homebrew/opt/qt@5/lib/cmake/
Using Coriolis
==============
Building Coriolis
=================

Prior to using Coriolis, you need to setup your UNIX environment by running
the following command:
To build Python wheels, you'll need the `build` package if you don't already have it installed:

.. code-block:: bash
ego@home:~$ eval `~/coriolis-2.x/OS.DISTRIB/Release.Shared/install/etc/coriolis2/coriolisEnv.py`
pip3 install build
Then you can launch the GUI:
.. code-block:: bash
ego@home:~$ cgt -V
python3 -m build -w
The wheels can be found in dist and installed using pip:

.. code-block:: bash
pip3 install dist/*.whl
Development environment
=======================

For day-to-day development, its probably best to

66 changes: 9 additions & 57 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,68 +47,20 @@ main components are the Hurricane database, the Etesian placer and the Katana
router, but other tools can use the Hurricane database and the parsers
provided.

The user interface ``cgt`` is the prefered way to run Coriolis, but all
Coriolis tools are Python modules and thus scriptable.


Building Coriolis
=================

To build Coriolis, ensure the following prerequisites are met:

* A C++11 compliant compiler.
* Python 3.
* make or ninja.
* cmake.
* bzip2
* boost.
* bison & flex.
* Qt 5 & Qt 5 Svg.
* Qwt
* libxml2.
* RapidJSON, http://rapidjson.org/ .
* Eigen 3, http://eigen.tuxfamily.org .
* Lemon, http://lemon.cs.elte.hu/trac/lemon .
* doxygen
* pelican

The build system relies on a fixed directory tree from the root
of the user currently building it. Thus first step is to get a clone of
the repository in the right place. Proceed as follow:
Coriolus can be used via both the ```cgt`` graphical tool <http://coriolis.lip6.fr/pages/users-guide.html#id24>`_ and via the `rich Python API <http://coriolis.lip6.fr/pages/python-tutorial.html>`_.

.. code-block:: bash
ego@home:~$ mkdir -p ~/coriolis-2.x/src/
ego@home:~$ cd ~/coriolis-2.x/src
ego@home:src$ git clone --recurse-submodules https://github.com/lip6/coriolis
ego@home:src$ cd coriolis
Then, build the tool:

.. code-block:: bash
ego@home:coriolis$ make install
Installation
============

Coriolis gets installed at the root of the following tree: ::

~/coriolis-2.x/OS.DISTRIB/Release.Shared/install/

Where ``OS`` is the name of your operating system and ``DISTRIB`` your
distribution (mileage may vary).


Using Coriolis
==============

Prior to using Coriolis, you need to setup your UNIX environment by running
the following command:
Python 3.7 or later is required to use Coliolis. It can then be installed from `Pypi <https://pypi.org/>`_.

.. code-block:: bash
pip3 install coriolis-eda
ego@home:~$ eval `~/coriolis-2.x/OS.DISTRIB/Release.Shared/install/etc/coriolis2/coriolisEnv.py`
Note for Windows, we currently only support running under WSL2.

Then you can launch the GUI:
Documentation
=============

.. code-block:: bash
The full documentation for Coriolis can be found at http://coriolis.lip6.fr/pages/documentation.html

ego@home:~$ cgt -V
Loading

0 comments on commit 453f645

Please sign in to comment.