Genex: Enable COMPILE_LANGUAGE for preprocessor setting in VS and Xcode
The set of compile flags used for a target's C and C++ sources is based on the linker language. By default this is always the C++ flags if any C++ sources appear in the target, and otherwise the C flags. Therefore we can define the COMPILE_LANGUAGE
generator expression in COMPILE_DEFINITIONS
and INCLUDE_DIRECTORIES
to match the selected language.
This is not exactly the same as for other generators, but is the best VS and Xcode can do. It is also sufficient for many use cases since the set of definitions and include directories for C and C++ is frequently similar but may be distinct from those for other languages like CUDA.
Fixes: #17435 (closed)