Windows ======= We compile and test NEML on Windows using the `MSYS2 `_ system. This provides a linux-like build environment for Windows. We build and test the library using the `mingw-w64 `_ compiler. MSYS2 supports other compilers and if needed you may be able to compile and run NEML using one of the other support compilers. These directions assume the use of mingw. Basic library """"""""""""" Go to the `MSYS2 website `_ and follow the instructions there to install the framework. Follow the directions all the way through updating the package repository and installing mingw with the command: .. code-block:: console pacman -Su pacman -S --needed base-devel mingw-w64-x86_64-toolchain As the directions state, at this point close the original MSYS2 window, go to the start menu, and run `"MSYS MinGW 64-bit"`. You are now ready to obtain the NEML source code and compile the library Use the `"MSYS MinGW 64-bit"` terminal you opened to navigate to the location you want to download and install NEML to. Install the required dependencies with .. code-block:: console pacman -S mingw-w64-x86_64-openblas mingw-w64-x86_64-cmake git You can now clone the NEML source repository and enter the NEML directory with .. code-block:: console git clone https://github.com/Argonne-National-Laboratory/neml.git cd neml Finally, configure the base library with CMake and build the library with .. code-block:: console cmake . -G"MSYS Makefiles" make This will build the NEML dynamic library, located in `lib` subdirectory in the NEML install. Python bindings """"""""""""""" To go on and build the Python binding first follow the instructions in the previous section for the base library. Then install a few additional dependencies with .. code-block:: console pacman -S mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-scipy mingw-w64-x86_64-python-networkx mingw-w64-x86_64-python-matplotlib mingw-w64-x86_64-python-nose Configure and build the Python bindings .. code-block:: console cmake . -G"MSYS Makefiles" -D"WRAP_PYTHON=ON" make This produces the NEML python package in the `neml` subdirectory. You can run the automatic test suite using `nose` with the command .. code-block:: console nosetests-3.8.exe To use the `neml` Python package outside the source directory you need to add the `neml\\neml` subdirectory to both the system `PATH` and `PYTHONPATH` environment variables.