Tests/Module/GenerateExportHeader: Test exported free-function
Add $<LINK_LANGUAGE> generator expression

They can't be used when evaluating link libraries, but they can be
used for include directories and compile definitions. Later they can
be used for compile options.
Merge topic 'geh-add-missing-test' into next

74f24b2 Tests/Module/GenerateExportHeader: Test exported free-function
Merge topic 'language-generator-expressions' into next

3241014 Add $<LINK_LANGUAGE> generator expression
GenerateExportHeader: Generate only C identifiers as defines

The variables in this module are used to configure a header file
with defines whose name depends on the name of the target.

As valid names of targets may be invalid for use as defines, convert
the names of the defines used to C identifiers first. This is already
done in C++ code for the DEFINE_SYMBOL property.

This is not as simple as ensuring that the BASE_NAME is a C identifier,
because most of the define names are configurable, and because use of
a BASE_NAME which is not a C identifier, such as 4square can become a
C identifier by specifying a prefix in the generate_export_header
macro.
Merge topic 'geh-cleanup-identifiers' into next

7e24997 GenerateExportHeader: Generate only C identifiers as defines