[CMake] How to find the DLL's a a required package searched with FIND_PACKAGE()?

Alan W. Irwin irwin at beluga.phys.uvic.ca
Wed Feb 10 19:16:08 EST 2010


On 2010-02-10 23:41+0100 Gabriel Petrovay wrote:

> Hi,
> 
> We are using CMake 2.6. For Windows we need the DLL's of the required
> libraries for two reasons given below.
> 
> Take for example LibXml.dll which is required by our project in order to run
> on Windows. One can build and link our project successfully because the
> FindLibXml2.cmake provides:
> #  LIBXML2_INCLUDE_DIR - The LibXml2 include directory
> #  LIBXML2_LIBRARIES - The libraries needed to use LibXml2
> 
> But we also need a reference to the LibXml2.dll file for the following 2
> reasons.
> 
> 1. When you "make" the "install" target (e.g. "nmake install"), the dll of
> the required library has to go into the "bin" directory, as well where our
> executable.
> 2. We also need to set the PATH environment variable in order to execute our
> own executable (during the build, a bootstrap executable). So we need it in
> a scenario like:
> SET(ENV{PATH} ${LIBXML2_DLL})

Would setting that environment variable from cmake affect subsequent Windows
builds?  I don't have any Windows development experience, but this question
just came up on the PLplot list. There, we all speculated from our various
Linux and Windows platform perspectives that SET(ENV{PATH} ...) just sets
the PATH when you are running cmake and would have no effect on the
environment for the subsequent build.  Thus, we thought you would have to
externally set the PATH before running the build.  But we all could be wrong
which is why I have asked this question.  :-)

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list