mapnik / mapnik

Mapnik is an open source toolkit for developing mapping applications

Home Page:http://mapnik.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Idea] pull agg out

mathisloge opened this issue · comments

@artemp

I think it would be benefitical to pull agg out of the source code and put it into its own repository. E.g. mapnik/agg.
We could use the original commit history from agg itself http://agg.sourceforge.net/antigrain.com/index.html and then use the commit history of mapnik and apply it to the original source code.

It would enable others to use the agg code as a independent code and would make the initial repo size a bit smaller.

@mathisloge good idea ^^ . So are you thinking adding agg as a submodule? Lets coordinate how best to accomplish this 👍

Either as a submodule or we add a correct installation cmake logic to the agg library. And then it can just be found with find_package(agg CONFIG required).

@mathisloge I think we should stick to submodule as find_package might find system libagg which is not going to work as expected. On Ubuntu 22.04 I get -

sudo apt search libagg
Sorting... Done
Full Text Search... Done
libagg-dev/jammy 1:2.6.1-r134+dfsg1-2 amd64
  AntiGrain Geometry graphical toolkit (static development files)

libagg2/jammy 1:2.6.1-r134+dfsg1-2 amd64
  AntiGrain Geometry graphical toolkit (runtime files)

libagg2-dev/jammy 1:2.6.1-r134+dfsg1-2 amd64
  AntiGrain Geometry graphical toolkit (static and shared development files)

probably those won't be found with find_package since they aren't exported with cmake, e.g. there isn't a aggConfig.cmake besides those others. But yeah, we could add it just as a submodule but make it optional like the other submodules, so agg can be provided as a seperate module in package managers :)

probably those won't be found with find_package since they aren't exported with cmake, e.g. there isn't a aggConfig.cmake besides those others. But yeah, we could add it just as a submodule but make it optional like the other submodules, so agg can be provided as a seperate module in package managers :)

Sounds good

Would you like to create the repo? I'll then move the original source code to it and afterwards apply the modified code from mapnik 👍

@mathisloge Sure, I'll do it tomorrow and ping you.

Nice, thanks. 👍 Will do it on sunday