<div dir="ltr">Hi,<div><br></div><div>We have about a hundred projects that use CMake to do the compilation. Each night, we do a clean build and CMake performs unnecessary compiler checks for every single project:</div><div><br></div><div><div>-- The C compiler identification is MSVC 17.0.61030.0</div><div>-- The CXX compiler identification is MSVC 17.0.61030.0</div><div>-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/x86_amd64/cl.exe</div><div>-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/x86_amd64/cl.exe -- works</div><div>-- Detecting C compiler ABI info</div><div>-- Detecting C compiler ABI info - done</div><div>-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/x86_amd64/cl.exe</div><div>-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/x86_amd64/cl.exe -- works</div><div>-- Detecting CXX compiler ABI info</div><div>-- Detecting CXX compiler ABI info - done</div><div>-- Detecting CXX compile features</div><div>-- Detecting CXX compile features - done</div><div>-- Configuring done</div><div>-- Generating done</div><div>-- Build files have been written to: xxxxx</div></div><div><br></div><div>Now I can understand if CMake needs to do it once, but when it does this 100 times, the build slows down a few seconds per project for no reason especially when we know, after the first project generation, that things are working.</div><div><br></div><div>Using the workaround "project(myProj NONE)" is not good because it has other side effects. I would like CMake to cache the result of the above checks somehow for subsequent projects.</div><div><br></div><div>Also, just as an FYI for anyone on Linux, CMake's compiler identification and checking for a working compiler works almost instantaneously on Linux (e.g. trying the same on Linux will start the generation process pretty much instantaneously). On Windows this takes a while (about 8 seconds). Not sure why there is a big discrepancy in the way the compilers are identified and checked.</div><div><br></div><div>Thank you,</div><div>Saad</div></div>