The foundation of the Doxygen Find Module's detection methodology
is the command
find_program, which has inhibited the module from
properly handling user version restrictions when provided.
find_program historically has always returned after the first
match and does not consider version constraints, users of this module
are inadvertently at the mercy of the command's search procedure.
find_package(Doxygen ...) will always provide the first
Doxygen build found through said procedure, even if it conflicts with
the user's version requirements, and even if another build exists on
the system that would satisfy those requirements (i.e. shadowing).
Utilizes the new
VALIDATOR option of
find_program to ensure all
otherwise detectable builds of Doxygen on a given system are evaluated
and that only a build in compliance with
et. al., when defined, will be matched against.
Also enables handling of version ranges specified within
via the FindPackageHandleStandardArgs module.
Fixes: #23692 (closed)