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.
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
.
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.
Bundle muparser#
GROMACS now bundles MuParser version 2.3. It is also possible to link to an external provided library.