file(GENERATE): Only write the file if content is different.

No policy is used to control this behavior for now.
Merge topic 'file-generate-if-different' into next

42e1cd13 file(GENERATE): Only write the file if content is different.
Features: Decay language flag if requested is not available.

Use the highest standard compile flags available if requested language
version is too new.

This supports use-cases like

 set(CMAKE_CXX_STANDARD 14)

 # Compiled with -std=c++11 with GNU 4.7, which has no -std=c++14
 # or equivalent flag
 add_executable(main main.cpp)

This can be used in combination with preprocessor defines which
communicate the availability of certain language features for
optional use.
Merge topic 'decay-language-version' into next

2144ba13 Features: Decay language flag if requested is not available.