Gromacs  2024.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gmxpre.h File Reference
+ This graph shows which files directly or indirectly include this file:

Description

Prerequisite header file for GROMACS build.

This header should be included as the first header in all source files, but not in header files. It is intended to contain definitions that must appear before any other code to work properly (e.g., macro definitions that influence behavior of system headers). This frees other code from include order dependencies that may raise from requirements of getting these definitions from some header.

The definitions here should be kept to a minimum, and should be as static as possible (typically not change as a result of user choices in the build system), as any change will trigger a full rebuild. Avoid including any actual headers to not hide problems with include-what-you-use, and to keep build times to a minimum. Also, installer headers should avoid relying on the definitions from here (if possible), as this header will not be available to the user.