WCDH: Make it possible to generate multiple files.

Extend the write_compiler_detection_header interface to allow
specifying a location for supplementary files, and getting the
list of resulting files as a variable.
WCDH: Make the header -Wundef safe for the C language.

The __STDC_VERSION__ macro may be defined or not depending on the
implementation dialect of C.  Test that it is defined before testing
its value.

The CXX tests do not need such a change because they define __cplusplus
in all dialects.
ccmake: Add CMAKE_USE_SYSTEM_FORM option to use libform instead of cmForm
Remove note disallowing use of some string and vector API.

The compilers introducing these limitations are no longer supported
as host compilers.
Track nested loop levels in CMake language with a stack of counters

It gets incremented while entering a loop block (e.g. foreach or while)
and gets decremented when leaving the block. Because scope borders for
example at function borders must be taken into account the counter is
put into a stack. With every new scope an empty counter is pushed on the
stack, when leaving the scope the original value is restored.

This will allow easy querying if the break command is properly nested
within a loop scope.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
break: Add policy CMP0055 to check calls strictly

Reject break() without loop scope or any arguments.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
return: Add test for returning inside a foreach loop

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
CMake Nightly Date Stamp
Merge branch 'C-features-Wundef' into release
Merge topic 'C-features-Wundef'

d0af0fae WCDH: Make the header -Wundef safe for the C language.
Merge topic 'WCDH-multi-file'

4cf5179c WCDH: Make it possible to generate multiple files.
Merge topic 'ccmake-system-form'

6b045c3b ccmake: Add CMAKE_USE_SYSTEM_FORM option to use libform instead of cmForm
Merge topic 'remove-developer-forbidden-API'

beaea609 Remove note disallowing use of some string and vector API.
Merge topic 'return-test-foreach'

d124c411 return: Add test for returning inside a foreach loop
Merge branch 'release'
Merge topic 'break-command-strictness'

d54617d0 break: Add policy CMP0055 to check calls strictly
bae604d9 Track nested loop levels in CMake language with a stack of counters