Consider making shapelib a module as per @r-barnes previous pull request.
I think with 7.8 we have in principally fulfilled this one: cmake switch WITH_EXT_SHAPELIB to build with an external version of the shapelib library.
cmake switch WITH_EXT_SHAPELIB to build with an external version of the shapelib library