I have a question about the expected behavior of Find scripts when a found 
library or program has transitive linking dependencies on other shared 
libraries that are not available on the system library path, but visible to 
Find scripts because of the CMake search paths.  I'm using GCC 4.2 on 
Linux-i686 and Linux-x86_64, not sure which other systems have similar linking 
behavior.

For example, if I call FIND_PACKAGE ("DevIL"), it will pick up my custom IL, 
ILU, and ILUT libraries, but when my software tries to link against it, GCC 
bombs out because it can't find IL link dependencies such as lcms or mng that 
are not installed on my system but are provided by my project, and it will use 
the system libpng / libz rather than my custom ones (not really a problem, but 
not expected either.)  Looking at FindDevIL.cmake, it does not attempt to 
search for these dependencies.  On the other hand, if I call FIND_PACKAGE 
("PNG") it will correctly pick up my custom libz as a dependency and include it 
in PNG_LIBRARIES.

Which of these two behaviors should be the "expected" one?  I'm in the process 
of writing a fair number of Find scripts so I want to do it the "right" way 
(and be able to build my project of course.)

Incidentally, I'm writing Find scripts for the following libraries: CppUnit, 
LCMS, OGDI (an optional GDAL dependency with support for oddball military 
formats), ACE, TAO, MNG, PROJ4, Presagis OpenFlight, and a FindUUID script 
which attempts to determine the "native" support for UUID manipulation (e.g. 
Rpcrt4.lib on Windows, e2fslibs libuuid on Linux) and reports which style of 
UUIDs it found as well as necessary link and include options.  I would be happy 
to submit any of them if there's interest, but they're only really tested for 
my particular project on Linux and Windows.

Thanks,
Gregory Peele, Jr.
Applied Research Associates, Inc.
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to