[CMake] re include problem

Alan W. Irwin irwin at beluga.phys.uvic.ca
Fri Apr 20 16:18:26 EDT 2007


On 2007-04-20 19:41-0000 dfeustel at mindspring.com wrote:

> I removed the OpenBSD CMake 2.4 package.
> I built and installed CMake 2.4.6 and
> ran the command "cmake . " with CMakeLists.txt
> containing:
>
> Find_Package(JPEG)
> Find_Package(Qt3)
>
> set (p /usr/local/share/cmake-2.4/Modules)
>
> INCLUDE(${p}/FindPNG.cmake)
> INCLUDE(${p}/FindX11.cmake)
> INCLUDE(${p}/FindQt3.cmake)
> #INCLUDE(${p}/FindKDE3.cmake)
> INCLUDE(FindKDE3.cmake)
> INCLUDE(${p}/FindTCL.cmake)
>
>
> I got the following output:
>
> /home/daf/Cm}cmake .
> -- Found JPEG: /usr/local/lib/libjpeg.so.62.0
> -- Found PNG: /usr/local/lib/libpng.so.5.1
> CMake Error: Error in cmake code at
> /home/daf/Cm/CMakeLists.txt:10:
> INCLUDE Could not find include file: FindKDE3.cmake
> Current CMake stack: /home/daf/Cm/CMakeLists.txt;/usr/local/share/cmake-2.4/Modules/CMakeCInformation.cmake;/usr/local/share/cmake-2.4/Modules/CMakeCXXInformation.cmake;/home/daf/Cm/FindKDE3.cmake
> -- Configuring done
> /home/daf/Cm}

I verified this issue on Linux.  It turns out (see documentation) that
there are two forms of INCLUDE command.  One is for files (where I assume
you need full path), and one is for modules.

INCLUDE(FindKDE3.cmake)

gives an error because there is no local file named FindKDE3.cmake and
no module named FindKDE3.cmake.cmake.

There is no problem (on Linux) if you use

INCLUDE(FindKDE3)

Also, find modules such as FindKDE3 are a little
more sophisticated than ordinary modules.  INCLUDE will work with them,
but there is more functionality if you use

FIND_PACKAGE

instead.  Note that command has different syntax (someone else recommended
this command as well).  In its simplest form it is

FIND_PACKAGE(KDE3)

(which also works on Linux).

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