Possible Solution:
Add <LanguageStandard>stdcpp14</LanguageStandard> in <ClCompile> to VS-10.vcxproj.in in share/cmake-3.15/Modules/CompilerId
Probably an Intel integration issue and not a CMake issue? Just documenting here if questions arise.
Edited
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
Activity
Sort or filter
Newest first
Oldest first
Show all activity
Show comments only
Show history only
Brad Kingchanged title from CMake + Intel 19 + VS 2019 -> Error while determining compiler. to CMake + Intel 19u4 + VS 2019 -> Error while determining compiler.
changed title from CMake + Intel 19 + VS 2019 -> Error while determining compiler. to CMake + Intel 19u4 + VS 2019 -> Error while determining compiler.
Brad Kingchanged title from CMake + Intel 19u4 + VS 2019 -> Error while determining compiler. to CMake + Intel 19 + VS 2019 -> Error while determining compiler.
changed title from CMake + Intel 19u4 + VS 2019 -> Error while determining compiler. to CMake + Intel 19 + VS 2019 -> Error while determining compiler.
VS 2019 adds this new Default value for LanguageStandard and the Intel Compiler Visual Studio Integration cannot handle it. This can break projects created without CMake too. Ideally Intel should fix their integration logic to handle this setting.
Without a fix from Intel we may need to consider workarounds here.
has an enumeration of allowed LanguageStandard values and the corresponding compiler flags. It maps stdcpp14 to -std:c++14, stdcpp17, to -std:c++17, and stdcpplatest to -std:c++latest.
The Intel Compiler 2019 VS 2017 integration file:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\1033\icl.xml
Hacking the icl.xml file to add the <EnumValue Name="Default" ... entry to the enumeration does not fix this for me. I'm not familiar enough with MSBuild to know why.
Setting LanguageStandard to stdcpp14 as a work around is problematic in a .vcxproj file for C programs. It results in -std:c++14 being passed on the command line even for a .c source file. Normally that doesn't make much difference but if one is also adding a flag like -Qstd=c11 to the AdditionalOptions to change the C standard level, then the compiler warns:
icl: : warning #10428: '/Qstd:<arg>' conflicts with '/std:<arg>'; using '/Qstd:<arg>'