Quickstart guide for users ========================== - `Python bindings <#python-bindings>`__ - `Linux <#linux>`__ - `macOS <#macos>`__ - `Without vcpkg <#without-vcpkg>`__ Python bindings --------------- If you want to use ASMC or FastSMC via their Python interface, you can simply install ASMC using pip: :: pip install asmc-asmc For examples, see the `ASMC python documentation <./asmc_python.md>`__ and `FastSMC python documentation <./fastsmc_python.md>`__. If you want to compile the C++ executables, read on. Linux ----- This guide assumes you have a C++17 compatible compiler (e.g. gcc >= 8.3 or clang >= 7) and `CMake >= 3.15 `__. Then, follow these steps to build the ASMC, FastSMC and binary conversion executables: .. code:: bash # Get the source git clone --recurse-submodules https://github.com/PalamaraLab/ASMC cd ASMC # Create a build directory mkdir build && cd build # Configure and build # On first run, CMake will build the required dependencies cmake -DASMC_NO_PYTHON=TRUE .. 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 Then, follow these steps to build the ASMC, FastSMC and binary conversion executables: .. code:: bash # Get the source git clone --recurse-submodules https://github.com/PalamaraLab/ASMC cd ASMC # Create a build directory mkdir build && cd build # Configure and build # On first run, CMake will build the required dependencies cmake -DASMC_NO_PYTHON=TRUE .. cmake --build . --parallel 4 Without vcpkg ------------- If you would like to compile ASMC without using `vcpkg `__ to handle dependencies, you should first ensure all dependencies are installed: **Ubuntu** .. code:: bash sudo apt install libboost-iostreams-dev libboost-math-dev libboost-program-options-dev libeigen3-dev libfmt-dev librange-v3-dev zlib1g-dev **macOS** .. code:: bash brew install boost eigen fmt range-v3 zlib Then, when you run CMake, add the following definition: .. code:: bash cmake -DASMC_AVOID_VCPKG=true .. You may additionally choose to not recursively clone all submodules, as long as you still obtain the ``DataModule`` submodule. From the ASMC directory: .. code:: bash git clone https://github.com/PalamaraLab/ASMC cd ASMC git submodule update --init DataModule