Open shawnlaffan opened 1 year ago
This is closable.
PDL now uses Alien::proj so we can build with that instead. Doing so avoids the need to hack cmake files to append the underscores.
Can I ask what this "appending underscores" is about/for?
DLLs in Strawberrry Perl have underscores appended to the name so they don't clash with other systems (one for 32 bit systems, two for 64 bit).
An example is libbz2-1__.dll
.
Updating build systems to append the underscores is straightforward with autotools builds, but cmake systems are a bit more complex. Proj shifted to cmake a few versions back.
I did not know that! Thank you. Might it be worth reaching out to cmake
itself to seek a way to automatically suffix DLL names?
The build system currently targets Proj version 5. The current release of Proj is version 9.
Proj under Strawberry Perl is used to support PDL (and possibly others?). However, PDL now uses Proj via Alien::proj.
If Strawberry perl provides libproj then Alien::proj will detect this and use it as a system lib. Otherwise Alien::proj will run a share install and build from source.
Note that Proj now also depends on sqlite, and optionally libtiff and libcurl, so the build system is a little more involved. It also uses CMake but that's already in the build system.
If full functionality for PDL is needed then Alien::proj needs to be added to the distributed packages. Otherwise users can install it themselves and then reinstall PDL.