[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