[Qgis-developer] [QGIS Commit] [qgis/Quantum-GIS] 09f98f: remove spatialindex include

William Kyngesburye woklist at kyngchaos.com
Wed Nov 9 09:44:35 EST 2011


On Nov 9, 2011, at 1:54 AM, Jürgen E. Fischer wrote:

>> ...I see what the problem is - when I hardwired it, it was before the GEOS
>> include dir.  And the WITH_INTERNAL_SPATIALINDEX test adds it after.  GEOS
>> has a spatialindex.h.  So the precompiler is not case sensitive in header
>> names for me, is this normal?
> 
> Is your geos_c.h in the same directory as spatialIndex.h?
> 
> On Linux (Debian to be precise) the geos_c.h is in /usr/include while the C++
> headers are in /usr/include/geos.  GEOS_INCLUDE_DIR is /usr/include and GEOS'
> spatialIndex.h should only be found if geos/spatialIndex.h is included.
> OSGeo4W doesn't have the C++ headers at all.


Oh damn.  The OS X framework has geos_c.h along with the C++ headers.  This is so that the framework include method works for C++ headers (OS X framework headers can be specified with the frameowrk name/header without -I flags, say <GEOS/spatialindex.h>, and the compiler knows to look in the framework's headers folder, ie GEOS.framework/Headers/spatialindex.h), and so the C header also has a place to be (there are no other header folders in a framework and a subfolder for the C++ headers would break the framework include method.  IOW, the C++ headers can't be isolated.

Having the SpatialIndex header folder before the GEOS header folder in cmakelists should work fine then.

-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

"Oh, look, I seem to have fallen down a deep, dark hole.  Now what does that remind me of?  Ah, yes - life."

- Marvin




More information about the Qgis-developer mailing list