Most were still at 3.1 which prompts noisy warnings from up-to-date CMake versions.
Version requirements have been removed entirely from dependent subprojects, all others were upped to 3.16.
This checked errno without first confirming that there has been an error, it is also pointless because the value range check will automatically catch the error case as well.