ossama-othman / MaRC

MaRC - Map Reprojections and Conversions
GNU Lesser General Public License v2.1
1 stars 0 forks source link

"pkginclude" directory is not consistent with what MaRC headers expect. #97

Closed ossama-othman closed 5 years ago

ossama-othman commented 6 years ago

Describe the bug MaRC headers are installed in ${prefix}/include/marc (e.g./usr/local/include/MaRC) rather than ${prefix}/include/MaRC. The latter is what MaRC library headers expect, e.g. <MaRC/Matrix.h>. As it stands, code that attempts to include installed MaRC headers will run into build issues.

To Reproduce Steps to reproduce the behavior:

  1. ./configure
  2. make -n install | grep include

This results in something like the following:

$ make -n install | grep include
list='Log.h Observer.h Notifier.h DefaultConfiguration.h config.h Mathematics.h Matrix.h Vector.h Geometry.h BodyData.h OblateSpheroid.h ViewingGeometry.h SourceImage.h VirtualImage.h MuImage.h Mu0Image.h CosPhaseImage.h LatitudeImage.h LongitudeImage.h PhotoImageParameters.h PhotoImage.h MosaicImage.h GeometricCorrection.h GLLGeometricCorrection.h NullGeometricCorrection.h InterpolationStrategy.h BilinearInterpolation.h NullInterpolation.h PhotometricCorrection.h NullPhotometricCorrection.h Map_traits.h MapFactory.h MapFactory_t.cpp Mercator.h Orthographic.h PolarStereographic.h SimpleCylindrical.h Validate.h optional.h plot_info.h root_find.h utility.h Constants.h Version.h Export.h details/vector.h'; test -n "/usr/local/include/marc" || list=; \
  echo " /bin/mkdir -p '/usr/local/include/marc'"; \
  /bin/mkdir -p "/usr/local/include/marc" || exit 1; \
      echo " /bin/mkdir -p '/usr/local/include/marc/$dir'"; \
      /bin/mkdir -p "/usr/local/include/marc/$dir"; }; \
    echo " /usr/bin/install -c -m 644 $xfiles '/usr/local/include/marc/$dir'"; \
    /usr/bin/install -c -m 644 $xfiles "/usr/local/include/marc/$dir" || exit $?; }; \

Notice that the installation directory is /usr/local/include/marc rather than /usr/local/include/MaRC.

Expected behavior Public API MaRC headers should be installed in a directory that is consistent with the #include directives in those headers. For example, the installation directory should be ${prefix}/include/MaRC if public MaRC headers include other MaRC headers like <MaRC/Map_traits.h>.

However, it may be easier for users to use an include directory with consistent capitalization like marc. That would require MaRC header include directives to be changed to something like #include <marc/Map_traits.h>. The MaRC library source directory and binary name should also be changed, accordingly.