Portability

Intel classic compiler (icc/icpc) no longer supported

We now support the Intel clang-based compiler from oneAPI (icx/icpx) instead. Please use it, or gcc.

Issue 3893

Provisional: Initialize GMX_INSTALL_NBLIB_API and GMXAPI build options from BUILD_SHARED_LIBS

CMake options GMXAPI and GMX_INSTALL_NBLIB_API produce shared object libraries, so their default values are now initialized from BUILD_SHARED_LIBS. Pending movement on Issue 3605 and related issues, the coupling between these options is subject to change, but users generally should not need to manually set GMXAPI and GMX_INSTALL_NBLIB_API.

Issue 4053

Updates to pybind11 dependency

pybind11 is no longer bundled with GROMACS.

The gmxapi 0.3 Python package build system relies on PEP 517/518 build requirements to get pybind11 header dependencies through the Python packaging system. Package managers like pip will download dependencies automatically. Package managers that do not automatically fulfill dependencies should still report the missing dependency to the user.

The sample_restraint sample project (bundled in python_packaging/sample_restraint) still has a primitive CMake-only build procedure. If you fork a project from this source, you may choose to modernize the build system (similarly to that of gmxapi) or to bundle the pybind11 sources. Within the GROMACS repository, the sample_restraint option default is now GMXAPI_EXTENSION_DOWNLOAD_PYBIND=ON.

Issue 4092

CMake toolchain file replaced with cache file

The gromacs-toolchain.cmake file (previously installed to $CMAKE_INSTALL_PREFIX/share/cmake/gromacs/) is no longer provided. Instead a partial CMake cache file is installed to $CMAKE_INSTALL_PREFIX/share/cmake/gromacs${SUFFIX}/gromacs-hints.cmake.

Client software may get CMake hints by configuring with -C /path/to/gromacs-hints.cmake, instead of forcing a cross-compiling CMake configuration with -DCMAKE_TOOLCHAIN_FILE or --toolchain.

Client software bundled with GROMACS (the gmxapi Python package) no longer requires the toolchain file. See Full installation instructions for details.

Issue 4208

Bundle muparser

GROMACS now bundles MuParser version 2.3. It is also possible to link to an external provided library.