<div dir="ltr"><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif">Hi,<br>
<br>
For those of you who use Hunter for package management with CMake,  its
maintainer has issued a call for support to keep it alive or take over its
maintainership: <a href="https://github.com/ruslo/hunter/issues/1921">https://github.com/ruslo/hunter/issues/1921</a></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><br>
Hunter is different than vcpkg and Conan, it uses only CMake to do the package management. It also uses more CMake features than the others.<br>
<br>
Let's take pcre2 package for example.  Which has bzip2 and zlib as
dependencies. pcre2 package has a peculiarity when it's built as a static library,
it needs the PCRE2_STATIC definition.</p><ul type="disc" style="margin-bottom:0cm">
 <li class="MsoNormal" style="line-height:normal;margin:0cm 0cm 8pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt"><a href="https://github.com/bincrafters/conan-pcre2">Conan</a> pcre2 package.</span></li>
 <li class="MsoNormal" style="line-height:normal;margin:0cm 0cm 8pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt"><a href="https://github.com/microsoft/vcpkg/tree/master/ports/pcre2">vcpkg</a> pcre2 package.</span></li>
 <li class="MsoNormal" style="line-height:normal;margin:0cm 0cm 8pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt"><a href="https://github.com/hunter-packages/pcre2/">Hunter</a> pcre2 package.</span></li>
</ul><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">





</p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt">Conan is not using pcre2's CMake build system, instead the package is being build with the Conan Python infrastructure. I don't know if in the end you'll
have CMake Module or CMake Config packages.<br>
<br>
vcpkg is using  pcre2's CMake build system. It controls it from outside,
and afterwards it does some patching to ensure PCRE2_STATIC works as expected.
vcpkg is using CMake Module packages. In the vcpkg portfile the zlib and bzip2
dependencies are not mentioned. I assume they are somehow available in the
vcpkg build environment prior to building pcre2.<br>
<br>
Hunter is using  pcre2's CMake build system, and it does modify the pcre2's CMakeLists.txt to call the Hunter CMake API. It handles the
dependencies, and then it properly installs / exports a CMake Config package. In
the <a href="https://github.com/hunter-packages/pcre2/commits/hunter-10.33">commit history</a> you can see what it takes
to import a package in the Hunter repository.<br>
<br>
At <a href="https://bugreports.qt.io/browse/QTBUG-75578">QTBUG-75578</a> there is a description on how
to use Hunter to download / build / install the 3rd party dependencies of
Qt6::Base module, in order to build it on Windows with MinGW. You only need to edit
one CMakeLists.txt file.<br>
<br>
I would like to point out that Ruslan Baratov contributed the IPO/LTO
functionality that landed in CMake 3.9.<br>
<br>
Cheers,<br>
Cristian.</span></p></div>