This change the behavior of the add_(<LANG>_)compiler_flags macros.
Rather than editing the CFLAGS and/or CXXFLAGS, it adds the flag to the
COMPILE_OPTIONS property of the targets in the calling directory and
below that are added after this command is invoked.
The final goal is to avoid changing the CFLAGS/CXXFLAGS, because they
are not linked to target properties and are used in every build,
including the cmake checks such as check_cxx_source_compiles().
Depends on D4948.