Hi Cmake experts,

I'm currently working on the OSG's dicom loader, trying to get it
compiling under OSX.  I am trying to compile this plugin against the
DCMTK library that has it's headers installed into
/usr/local/include/dcmtk.  The Cmake scripts that search for DCMTK
have located the headers in /usr/local/include and the add the extra
path info to this to locate the specific files required.  Everything
should just work smoothly... but... the files aren't being found, and
it what it looks like is that CMake's is trying to be clever by by not
including directories that it thinks are redudent.  The relevant entry
in the src/osgPlugins/dicom/CMakeList.txt file is:

    MESSAGE("DCMTK_ROOT_INCLUDE_DIR: " ${DCMTK_ROOT_INCLUDE_DIR})

    INCLUDE_DIRECTORIES(${DCMTK_ROOT_INCLUDE_DIR})


When I run the make and cmake confgures itself for the first time it
correctly reports /usr/local/include for DCMTK_ROOT_INCLUDE_DIR, but
when I run make VERBOSE=1 there is no -I/usr/local/include on the
compile line.  The weird thing is that if I change the line to:

    INCLUDE_DIRECTORIES(${DCMTK_ROOT_INCLUDE_DIR}/../include)

It fools Cmake into including the -I entry.  Now this hack isn't a
viable change to check in but it does point to Cmake trying to be too
clever.

Has anyone come across this themselves?  Is there a workaround?

Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to