OSGeo / gdal

GDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.
https://gdal.org
Other
4.92k stars 2.56k forks source link

[CMake] PROJ 6 config mode doesn't work #11313

Closed SunBlack closed 1 day ago

SunBlack commented 1 day ago

What is the bug?

We use vcpkg's manifest mode for our dependencies, where we have specified an additional package registry with which we still build PROJ 6.3.1 (since we haven't had the time to adapt some of our tests to newer PROJ versions yet). This also worked up to GDAL 3.8.5, but with the vcpkg GDAL ports of GDAL 3.9.x and also 3.10.0 it no longer finds this legacy PROJ port, which is why we have currently fixed GDAL to 3.8.5. Unfortunately, I have not yet found a relevant change in GDAL's Git history.

I have now built the current developer version of GDAL locally myself and found that the integration of PROJ 6.x does not work properly, i.e. you have to set the include path and the lib path yourself.

Reason for this: Here will be just searched for PROJ https://github.com/OSGeo/gdal/blob/1344d8ddd5438668d99568ae603fbfa439673d3a/cmake/helpers/CheckDependentLibraries.cmake#L122-L135 As PROJ 6 still creates a proj4-config.cmake and not a proj-config.cmake this will always fail. Maybe it would already help to search for find_package(PROJ4 CONFIG) before falling back to find_package(PROJ REQUIRED)

As PROJ 6 is officially still supported, it would be nice when this works.

Steps to reproduce the issue

Build PROJ 6.3.1 and try to find it with latest dev build of GDAL

Versions and provenance

Windows 10/11

Additional context

No response

rouault commented 1 day ago

I agree there might be an issue, but at that time of history, I'm not keen in investing time in fine tuning support for PROJ < 8 versions that are legacy. Closing as won't fix