Hi,

I'm using CMake 2.4.6. I'm trying to use CHECK_LIBRARY_EXISTS to verify a function exists in a static library that requires additional static libraries to be linked against in order for main() to link.

libctdb depends in part on libgcs, libgtrs, and libvecmat (which need to be linked in that order).

SET(CMAKE_REQUIRED_LIBRARIES "libctdb.a;libgcs.a;libgtrs.a;libvecmat.a")
CHECK_LIBRARY_EXISTS(ctdb ctdb_lookup_attr_name ${PROJECT_SOURCE_DIR}/Ctdbase/otb/lib HAVE_CTDB)

I get the following error message in CMakeFiles/CMakeError.log:

/usr/bin/gcc -DCHECK_FUNCTION_EXISTS=ctdb_lookup_attr_name -fPIC "CMakeFiles/cmTryCompileExec.dir/usr/local/cmake/share/cmake-2.4/Modules/CheckFunctionExists.o" -o cmTryCompileExec -rdynamic -L/home/lowmanp/src/gres.cmake/Ctdbase/otb/lib -lctdb -Wl,-Bstatic -lctdb -lgcs -lgtrs -lvecmat -Wl,-Bdynamic -Wl,-rpath,/home/lowmanp/src/gres.cmake/Ctdbase/otb/lib

I can link a simple main() .c file of my own choosing using this gcc line and it works just fine.

g++ -I/home/lowmanp/src/gres.cmake/Ctdbase/otb -I/home/lowmanp/src/gres.cmake/Ctdbase/otb/include -I/home/lowmanp/src/gres.cmake/Ctdbase/otb/include/global -I/home/lowmanp/src/gres.cmake/Ctdbase/otb/include/libinc crap.c -L/home/lowmanp/src/gres.cmake/Ctdbase/otb/lib -lctdb -lgcs -lgtrs -lvecmat -o crap

--
Philip Lowman
Simulation Development Engineer, Modeling and Simulation Technology
General Dynamics Land Systems
http://www.gdls.com
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to