This PR is currently at 13 commits but clearly some of the commits fixes earlier commits in the series itself, and we generally frown upon that. They should be reduced to a set of separate commits that each have their own commit message and reasoning.
If that's too much work, I would rather squash them into a single commit.
I think that all CMake changes could be squashed into a single commit, "CMake: cleanup and simplify" or similar. You can keep the current subjects as bullet points in the description if desired. How does that sound?
Edit: additionally, please rebase this on master. It looks like the unbuntu typo was fixed in #4866.
-remove check for unsupported old CMake versions -not link to c-ares library twice -modernize custom Find modules FindLibSSH2: -pass version to FPHSA to show it in the output -use LIBSSH2_VERSION define to extract the version number in one shot. This variable exists in the header for 10 years. -remove unneeded code FindNGHTTP2.cmake -drop needless FPHSA argument -mark found variables as advanced FindNSS.cmake: -show version number FindCARES.cmake: -drop default paths -use FPHSA instead of checking things by hand -remove needless explict variable dereference -simplify count_true() -allow all policies up to version 3.16 to be set to NEW -do not rerun check for -Wstrict-aliasing=3 every time In contrast to every other compiler flag this has a = in it, which CMake can't have in a variable name. -only read the interesting strings from curlver.h