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


_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to