Building CMake in a temporary directory using MSVC fails
Building cmake in a temporary directory fails because the checks in Source/Checks/cm_cxx_features.cmake considers all warnings an error.
A warning is emitted when building in a temporary directory (cwd in %TMP%/%TMP%/%TMPDIR%
).
This is because msbuild/msvc is emitting the following MSB
warning:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(467,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\J\w\cci_PR-3053@2\.conan\data\cmake\3.16.2\_\_\build\a79a557254fabcb77849dd623fed97c9c5ab7651\CMakeFiles\CMakeTmp\cmTC_3d17c.vcxproj]
I think a check should be added to Source/Checks/cm_cxx_features.cmake to ignore all messages containing warning MSB[0-9]{4}
.
This error was detected while building conan on the ci of conan-center-index (c3i): see https://github.com/conan-io/conan-center-index/pull/3053
It can be argued that the error is due to the c3i configuration. I believe that a benign thing such as changing directory to a temporary directory should not be able to break a build.
Thanks