I co-maintain the pkgsrc entry for qgis (and also look after proj, gdal,
postgis).

pkgsrc uses gmake because there are file names with spaces (json help),
and there is some quoting problem with BSD make.  (Also because of the
present issue with $ quoting.)

pkgsrc currently has 3.10.7 (yes, I know I should update to 3.10.10),
which builds fine with cmake 3.17.3 on NetBSD, when qgis is built with
gmake.

With our current cmake 3.18.2 (or .1), the build fails because a
generated makefile:

  work/qgis-3.10.7/build/src/core/CMakeFiles/qgis_core.dir/build.make

escapes e.g. resources/function_help/json/$area to have four dollar signs:

  src/core/qgsexpression_texts.cpp: ../resources/function_help/json/$$$$area

rather than the two $ that gmake expects.  (However, BSD make, which we
don't use, wants 4, for complicated and perhaps not valid reasons.)

My working (but unsupported by reality) theory is that cmake is trying
to accomodate BSD make and overquoting $, but is doing so because it is
running on NetBSD, rather than because it knows BSD make will be used to
build.  However, I don't see this in the release notes.

So far there have not been reports of other programs not building, but
qgis is unusual in that it has files with $ in them.

I am looking for a minimal fix to patch qgis or cmake to make this
build.

Hints would be appreciated on the following subjects:

  cmake really did or didn't change quoting of $

  The extra quoting is or isn't something somehow done by qgis.

  The questions I really should have asked, if I understtood this
  better.

  This is fixed in 3.10.10 :-)

Thanks,
Greg

Attachment: signature.asc
Description: PGP signature

_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to