.. _install-developers: .. _building-cmake: .. _building-cmake-intro: Developers ========== `CMake `_ is our primary build system. If you are new to CMake, `this short tutorial `_ from the HEP Software foundation is the perfect place to get started. If you just want to use CMake to build the project, jump into sections `1. Introduction `__, `2. Building with CMake `__ and `9. Finding Packages `__. Dependencies ------------ Before you start, you will need a copy of the pyAMReX source code: .. code-block:: bash git clone https://github.com/AMReX-Codes/pyamrex.git $HOME/src/pyamrex cd $HOME/src/pyamrex pyAMReX depends on popular third party software. On your development machine, :ref:`follow the instructions here `. .. toctree:: :hidden: dependencies .. note:: Preparation: make sure you work with up-to-date Python tooling. .. code-block:: bash python3 -m pip install -U pip python3 -m pip install -U build packaging setuptools[core] wheel pytest python3 -m pip install -U -r requirements.txt Compile ------- From the base of the pyAMReX source directory, execute: .. code-block:: bash # find dependencies & configure cmake -S . -B build -DAMReX_SPACEDIM="1;2;3" # compile & install, here we use four threads cmake --build build -j 4 --target pip_install That's all! You can inspect and modify build options after running ``cmake -S . -B build`` with either .. code-block:: bash ccmake build or by adding arguments with ``-D