[CMake] Explicit <NAME>_LIBRARIES and <NAME>_INCLUDE_DIRS

Mateusz Loskot mateusz at loskot.net
Fri Mar 22 11:59:13 EDT 2013


Hi,

I'm trying to build software which uses libE57 library which has
Xerces as dependency.
I build Xerces too as part of my project and I deploy it in custom locations
and Xerces library has custom name.

libE57 provides FindXerces.cmake [1] and I've been trying to figure
out how I can
make this module find Xerces I provide, I tried to explicitly the two variables:
Xerces_INCLUDE_DIR
Xerces_LIBRARY
on invocation of cmake, but obviously this FindXerces.cmake is still nagging me
about XERCES_ROOT

This is first time when I have to deal with CMake-based software and custom
names and locations of libraries, so I'm not sure either I'm missing some
important tricks here or this FindXerces.cmake is just poorly written module
and it does not check if user passes <NAME>_INCLUDE or <NAME>_LIBRARY directly.

I know I can also use CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH,
but how to deal with custom library names, when this module expects
two options only [2].

Could anyone advise about workaround?

Is this an issue in the FindXerces.cmake and would you say it's worth
to submit bug report to libE57?

[1] http://sourceforge.net/p/e57-3d-imgfmt/code/331/tree/trunk/cmake/Modules/FindXerces.cmake
[2] http://sourceforge.net/p/e57-3d-imgfmt/code/331/tree/trunk/cmake/Modules/FindXerces.cmake#l44

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net


More information about the CMake mailing list