[gdal-dev] CMake versions for GDAL (and PROJ and TIFF and GeoTIFF and...)

Simon Eves seves at nvidia.com
Mon Dec 8 16:03:59 PST 2025


Dear Group,

Our software product currently builds with CMake 3.26.5, PROJ 9.6.0, GDAL 3.10.3, TIFF 4.7.0, GeoTIFF 1.7.4 etc.

I am obliged to update to at least CMake 3.30.4 in order to be able to use the CMake scripts for a new dependent library, which I am told has enough build trickiness that trying to use it without those scripts will be a major PITA.

Turns out that the newer CMake is a lot more demanding in terms of sub-dependency find_package() calls. For example, the find_package(TIFF REQUIRED) in PROJ fails because it can't find LZMA, ZSTD, ZLIB, WebP and CMath. Adding find_package() calls for those before the one for TIFF seems to work, but some of those only work if you have the matching Find<foo>.cmake scripts, many of which aren't provided in the standard CMake set, but have to be copied or referenced from those provided by TIFF.

Either that, or it's not clear to me which version of the Find script or library name is required. For example, TIFF apparently requires lzma::lzma but there isn't a script for that, only for LibLZMA::LibLZMA.

Does anyone have any tricks or recommendations on how to resolve this in the cleanest manner. I am trying to hack through it by patching (say) the various CMakeLists.txt files for the above projects to add the now-required find_package() calls, and copying scripts from the TIFF deployment into CMake Modules but it seems very wrong.

I don't see anything in the more recent release notes for any of those packages which indicates that there is a newer version which is more compatible with the newer CMake. Most of the issues stem from TIFF, where the only newer version is 4.7.1 which certainly does not help.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20251209/226d1a20/attachment-0001.htm>


More information about the gdal-dev mailing list