Windows build
Pre-requisites
You need to install the following:
Git: https://git-scm.com/
Chocolatey: https://chocolatey.org/
Visual Studio with C++: https://visualstudio.microsoft.com/vs/features/cplusplus/
pwsh(grab the latest PowerShell release on GitHub: https://github.com/PowerShell/PowerShell/releases/latest)
Build Environment installation
You can follow the lines of the scripts from the ci folder. The scripts can also be launched as-is for local installation. Perform a git clone of the nrn repository.
From a powershell with administrator priviledges, run:
PS C:\workspace\nrn> .\ci\win_download_deps.cmd
This will download all required installers and corresponding versions(Python, MPI, nsis)
Then launch the installation script:
PS C:\workspace\nrn> .\ci\win_install_deps.cmd
in order to:
install all downloaded Python versions and for each:
fix MSVCC version
fix MSVC runtime library
install numpy
install
nsisand required plugininstall MPI
install MSYS2 (via
Chocolatey) and then MinGW toolchain and required build pacakages
How to build NEURON
For a complete build/install/create setup.exe, in a MinGW64 shell you can run:
$ bash ci/win_build_cmake.sh
As you can see in the script, a typical configuration would be:
/mingw64/bin/cmake .. \
-G 'Unix Makefiles' \
-DNRN_ENABLE_MPI_DYNAMIC=ON \
-DNRN_ENABLE_MPI=ON \
-DCMAKE_PREFIX_PATH='/c/msmpi' \
-DNRN_ENABLE_INTERVIEWS=ON \
-DNRN_ENABLE_PYTHON=ON \
-DNRN_ENABLE_RX3D=ON \
-DNRN_RX3D_OPT_LEVEL=2 \
-DPYTHON_EXECUTABLE=/c/Python37/python.exe \
-DNRN_ENABLE_PYTHON_DYNAMIC=ON \
-DNRN_PYTHON_DYNAMIC='c:/Python37/python.exe;c:/Python38/python.exe;c:/Python39/python.exe;c:/Python310/python.exe' \
-DCMAKE_INSTALL_PREFIX='/c/nrn-install' \
-DMPI_CXX_LIB_NAMES:STRING=msmpi \
-DMPI_C_LIB_NAMES:STRING=msmpi \
-DMPI_msmpi_LIBRARY:FILEPATH=c:/msmpi/lib/x64/msmpi.lib
To create the Windows installer, you need to run:
make install
make setup_exe