cmake randomly chooses to select Windows SDK and overwrite my toolchain.cmake settings
I have a toolchain-file to configure clang-cl with windows-SDK from conan-packages. This works fine on any BLANK machine, but my machine also has Visual Studio 2019 installed.
This will result in this: Selecting Windows SDK version 10.0.18362.0 to target Windows 10.
-- FindTool(CMAKE_C_COMPILER clang-cl): CMAKE_C_COMPILER_FindTool=C:/Users/user/.conan/data/clang/10.0.0/tools/stable/package/783361c7e32a4d78a07c55ebfe0fbe96dea7d94a/bin/clang-cl.exe
-- FindTool(CMAKE_CXX_COMPILER clang-cl): CMAKE_CXX_COMPILER_FindTool=C:/Users/user/.conan/data/clang/10.0.0/tools/stable/package/783361c7e32a4d78a07c55ebfe0fbe96dea7d94a/bin/clang-cl.exe
-- FindTool(CMAKE_MT mt): CMAKE_MT_FindTool=C:/Users/user/.conan/data/WinSdk/10.0.18362.0/tools/stable/package/b736cda1ac7b11080af8cfd01e654d49bc38c9b5/bin/10.0.18362.0/x86/mt.exe
-- FindTool(CMAKE_RC_COMPILER rc): CMAKE_RC_COMPILER_FindTool=C:/Users/user/.conan/data/WinSdk/10.0.18362.0/tools/stable/package/b736cda1ac7b11080af8cfd01e654d49bc38c9b5/bin/10.0.18362.0/x86/rc.exe
-- CMAKE_CXX_COMPILER=C:/Users/user/.conan/data/clang/10.0.0/tools/stable/package/783361c7e32a4d78a07c55ebfe0fbe96dea7d94a/bin/clang-cl.exe
-- CMAKE_MT=C:/Users/user/.conan/data/WinSdk/10.0.18362.0/tools/stable/package/b736cda1ac7b11080af8cfd01e654d49bc38c9b5/bin/10.0.18362.0/x86/mt.exe
-- CMAKE_RC_COMPILER=C:/Users/user/.conan/data/WinSdk/10.0.18362.0/tools/stable/package/b736cda1ac7b11080af8cfd01e654d49bc38c9b5/bin/10.0.18362.0/x86/rc.exe
-- CMAKE_BUILD_TYPE=Debug
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.
-- The C compiler identification is MSVC 19.27.29111.0
-- The CXX compiler identification is MSVC 19.27.29111.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:/tools/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/tools/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe - broken
CMake Error at C:/src/cmake/Modules/CMakeTestCCompiler.cmake:66 (message):
The C compiler
"C:/tools/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/src/project/.build/CMakeFiles/CMakeTmp
Run Build Command(s):C:/tools/Microsoft Visual Studio/2019/Professional/MSBuild/Current/Bin/MSBuild.exe cmTC_d0a8f.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=16.0 /v:m && Microsoft (R) Build Engine version 16.7.0+b89cb5fde for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Microsoft (R) C/C++ Optimizing Compiler Version 19.27.29111 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
cl /c /IC:\src\project\.build\CMakeFiles\CMakeTmp\include /I"C:\src\project\.build\CMakeFiles\linux_linux-x86-clang\include" /IC:\Users\user\.conan\data\WinSdk\10.0.18362.0\tools\stable\package\b736cda1ac7b11080af8cfd01e654d49bc38c9b5\include\10.0.18362.0\um /IC:\Users\user\.conan\data\WinSdk\10.0.18362.0\tools\stable\package\b736cda1ac7b11080af8cfd01e654d49bc38c9b5\include\10.0.18362.0\shared /IC:\Users\user\.conan\data\WinSdk\10.0.18362.0\tools\stable\package\b736cda1ac7b11080af8cfd01e654d49bc38c9b5\include\10.0.18362.0\ucrt /IC:\Users\user\.conan\data\WinSdk\10.0.18362.0\tools\stable\package\b736cda1ac7b11080af8cfd01e654d49bc38c9b5\include /IC:\Users\user\.conan\data\msvc\14.26.28801\tools\stable\package\650e23d613696a411fda2e1c40232c91ccc209e7\VC\Tools\MSVC\14.26.28801\include /IC:\Users\user\.conan\data\clang\10.0.0\tools\stable\package\783361c7e32a4d78a07c55ebfe0fbe96dea7d94a\include /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D __clang__ /D _ITERATOR_DEBUG_LEVEL=2 /D _DEBUG /D DEBUG /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /EHsc /RTC1 /MTd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_d0a8f.dir\Debug\\" /Fd"cmTC_d0a8f.dir\Debug\vc142.pdb" /Gd /TC /errorReport:queue -m32 -fms-extensions -fms-compatibility -fdelayed-template-parsing -Werror=float-conversion -Werror=implicit-function-declaration -Werror=return-type -Wno-documentation -Wno-newline-eof -Wno-reserved-id-macro -Wno-unused-macros -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-shadow-field -Wno-shadow-field-in-constructor -Wno-exit-time-destructors -Wno-shadow -Wno-parentheses-equality C:\src\project\.build\CMakeFiles\CMakeTmp\testCCompiler.c
cl : command line error D8021: invalid numeric argument '/Werror=float-conversion' [C:\src\project\.build\CMakeFiles\CMakeTmp\cmTC_d0a8f.vcxproj]
How can I keep cmake from doing that?