We would prefer to use CMake's target_precompile_headers() command instead of our own CMake code to support precompiled headers also for MSVC, which I am looking into in bug #139438, and 3.17 is the first CMake version where the CMake built-in PCH support works reliably.
According to Stephan the WinCairo bots tend to have quite recent dependencies, so maybe those would be okay already. Per Arne reported that AppleWin is currently on CMake 3.15.5
CMake on Apple Windows EWS and Buildbot bots upgraded to 3.21.3.