Manage compiler flags and some include options per file or target, not globally
The legacy CMake approach of adding to the global compiler flags
variables is no longer accepted practice. Following the new idiom will
give us more control, e.g. over whether warning flags intended for
GROMACS code will apply to e.g. external code. Now all kinds of
generated and external code cannot emit any of the warnings that we
intend to enable for GROMACS code.
Compiler command lines are now constructed from proper CMake lists of
flags, ie. with semicolon separators. This means we can use more
modern CMake idiom with generator strings, rather than munging our own
strings into compiler command lines.
Similarly, include directories such as for thread-MPI are no longer
added globally.
Some flags that disable warnings activated by bulk warning flags are
changed to be detected in an order that still produces a list of flags
that disables groups of warnings as intended.
Silenced a few MSVC warnings about things that are not worth fixing
for GROMACS.
Change-Id: I8cc470ad74264dc11bc292988f50cc16cbb02437
30 files changed: