← Back to team overview

dolfin team mailing list archive

Re: Default installation of .cmake files

 

On Thursday August 19 2010 15:17:51 Garth N. Wells wrote:
> On Thu, 2010-08-19 at 15:14 -0700, Johan Hake wrote:
> > On Thursday August 19 2010 15:08:43 Garth N. Wells wrote:
> > > On Thu, 2010-08-19 at 13:25 -0700, Johan Hake wrote:
> > > > Ok.
> > > > 
> > > > It does not look like /usr/local/share/ufc is looked into. I get this
> > > > missleading error from dolfin cmake
> > > > 
> > > > CMake Error at CMakeLists.txt:98 (find_package):
> > > >   Could not find a configuration file for package UFC.dolfin.
> > > 
> > > Oh, you need to change that line. It should be
> > > 
> > >     find_package(UFC REQUIRED)
> > > 
> > > This will pick up the system-wide installation. The line
> > > 
> > >     find_package(UFC.dolfin REQUIRED)
> > 
> > Ahh... I guess I learned some cmake today!
> > 
> > Now it actually finds ufc. Even if this is nice, I think it would be even
> > nicer if one could tell cmake to look in another place too. I never
> > install stuff at /usr/local, but rather $HOME/local.
> 
>     export UFC_DIR=$HOME/local/share/ufc/cmake
> 
> should do it.

But this I have to do for every package. With pkg-config I could just add

   $HOME/local/lib/pkg-config

to 

  PKG_CONFIG_PATH 

and I was fine. I wonder if I could add something like:

  CMAKE_CONFIG_PATH=$HOME/local/share

?

Johan

> Garth
> 
> > Johan
> > 
> > > looks for the home-baked local file
> > > (dolfin/cmake/FindUFC.dolfin.cmake). The home-backed file calls
> > > pkg-config. We'll remove this soon.
> > > 
> > > Garth
> > > 
> > > >   Set UFC.dolfin_DIR to the directory containing a CMake
> > > >   configuration file
> > > >   
> > > >   for UFC.dolfin.  The file will have one of the following names:
> > > >     UFC.dolfinConfig.cmake
> > > >     ufc.dolfin-config.cmake
> > > > 
> > > > It is not possible to set environment variables with '.' in them...
> > > > 
> > > > Johan
> > > > 
> > > > On Thursday August 19 2010 13:13:35 Garth N. Wells wrote:
> > > > > On Thu, 2010-08-19 at 13:05 -0700, Johan Hake wrote:
> > > > > > I found out that the ufc-config.cmake are installed in
> > > > > > 
> > > > > >   prefix/share/ufc
> > > > > > 
> > > > > > This is kindoff hard wired. When I removed the ufc-1.pc, DOLFIN
> > > > > > cmake cannot find ufc.
> > > > > > 
> > > > > > With pkg-config we just put the file in a directory and included
> > > > > > that in PKG_CONFIG_PATH. Is there a similare directory or PATH
> > > > > > we can add for CMAKE, and hence put all .cmake files there?
> > > > > > 
> > > > > > I know trilinos puts it in its prefix/include, so there might not
> > > > > > be a clear answer to this, I guess.
> > > > > 
> > > > > I dug around a bit on the CMake search paths, but didn't reach any
> > > > > firm conclusion. I stumbled across
> > > > > 
> > > > >     prefix/share/ufc
> > > > > 
> > > > > by accident. If you see UFC_DIR=prefix, then CMake will (I think)
> > > > > find the config file in prefix/share/ufc. I'm not sure what
> > > > > happens if it's in /usr/local/share/ufc. Can you try it out on
> > > > > your machine?
> > > > > 
> > > > > Trilinos uses include, others use lib. 'share' seems a better place
> > > > > to me, especially if CMake searches there.
> > > > > 
> > > > > Garth
> > > > > 
> > > > > > Johan
> > > > > > 
> > > > > > _______________________________________________
> > > > > > Mailing list: https://launchpad.net/~dolfin
> > > > > > Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> > > > > > Unsubscribe : https://launchpad.net/~dolfin
> > > > > > More help   : https://help.launchpad.net/ListHelp
> > > 
> > > _______________________________________________
> > > Mailing list: https://launchpad.net/~dolfin
> > > Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> > > Unsubscribe : https://launchpad.net/~dolfin
> > > More help   : https://help.launchpad.net/ListHelp



Follow ups

References