On Windows CHECK_CXX_SOURCE_RUNS is calling check_source_runs

You are using different CMake versions on the two different platforms. The 3.19 release is the first one where check_cxx_source_runs() forwards to check_source_runs(). This is why you are not seeing your check_source_runs() macro being invoked on Linux, since you are only running 3.14 there. I posted just yesterday about updating the 3.19 docs for these modules, which I suspect would make situations like this a bit clearer.