强制CMake使用Visual Studio将C ++编译器用于C文件

我已生成.h和.c文件,必须使用Visual Studio编译为C ++文件。 我听说我可以做类似set_source_files_properties( ${SOURCES} PROPERTIES LANGUAGE "CXX" )事情。 与此同时,我已经读到我不应该这样做,因为它只应该在异国情调中使用。

那么,强制CMake生成将C文件编译为C ++文件的VS项目的最佳方法是什么?

PS:重命名生成的文件不是一个选项。

我一直在使用各个属性(很可能你也可以设置目录属性 – 但这不是很精细)没有任何问题。 不是为了设置语言(但为什么它应该是不同的?):

 SET_SOURCE_FILES_PROPERTIES( file1.c PROPERTIES LANGUAGE CXX ) 

这适用于Linux和Windows,似乎没有任何问题。 你听到了什么让你犹豫不决?