Quickstart guide for developers
===============================
- `Linux <#linux>`__
- `macOS <#macos>`__
- `ResComp (oxford research
computing) <#rescomp-oxford-research-computing>`__
- `Python bindings <#python-bindings>`__
Linux
-----
This guide assumes you have a C++17 compatible compiler (e.g. gcc >= 8.3
or clang >= 7) and `CMake >= 3.15 `__.
Additionally, to compile the Python bindings you need Python with
development files:
.. code:: bash
sudo apt install python3-dev
Then, follow these steps:
.. code:: bash
# Get the source
git clone --recurse-submodules https://github.com/PalamaraLab/ASMC_dev
cd ASMC_dev
# Create a build directory
mkdir build && cd build
# Configure and build
# On first run, CMake will build the required dependencies
cmake ..
cmake --build . --parallel 4
macOS
-----
This guide assumes you have a recent version of the `Xcode command line
tools `__ and
`Homebrew `__. Install the following dependencies:
.. code:: bash
brew install cmake
brew install libomp
brew install python # for python bindings, if required
Then, follow these steps:
.. code:: bash
# Get the source
git clone --recurse-submodules https://github.com/PalamaraLab/ASMC_dev
cd ASMC_dev
# Create a build directory
mkdir build && cd build
# Configure and build
# On first run, CMake will build the required dependencies
cmake ..
cmake --build . --parallel 4
ResComp (oxford research computing)
-----------------------------------
All necessary dependencies are already installed on ResComp. Simply
follow these steps:
.. code:: bash
# Load required modules
module load GCC/10.2.0
module load CMake/3.18.4-GCCcore-10.2.0
module load git/2.28.0-GCCcore-10.2.0-nodocs
module load Python/3.8.6-GCCcore-10.2.0
# Get the source
git clone --recurse-submodules https://github.com/PalamaraLab/ASMC_dev
cd ASMC_dev
# Create a build directory
mkdir build && cd build
# Configure and build
# On first run, CMake will build the required dependencies
cmake ..
cmake --build . --parallel 4
Python bindings
---------------
These instructions are platform independent, assuming you have installed
all dependencies (excluding those from vcpkg) according to the
instructions above. From the ``ASMC_dev`` directory:
.. code:: bash
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip setuptools wheel ninja
pip install .