Review Request: Attica will not be found if installed under /usr/local/

Alexander Neundorf neundorf at kde.org
Sun Sep 19 19:09:23 BST 2010


Reviewboard currently doesn't respond...

On Sunday 19 September 2010, Guy Maurel wrote:
> > On 2010-09-17 18:52:17, Alexander Neundorf wrote:
> > > /usr/local is part of the default search directories, so it should be
> > > found if installed there. I just tested this here locally and it works
> > > for me.
> > >
> > > If it is not found when installed in /usr/local/, then we have to check
> > > what is going wrong there.
> > >
> > > Alex
>
> mmmh!
> I found at http://www.kitware.com/news/home/browse/168:
> "FIND_LIBRARY and FIND_PATH now look in CMAKE_LIBRARY_PATH and
> CMAKE_INCLUDE_PATH environment variables in addition to and before the PATH
> environment variable. "

This is really old news, from 2004 as you can see.

> It is what I need, but nothing about a default
> value for CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH Is it something the
> user *has* to do itself before running?


The cmake manpage describes the order in which directories are searched:
"
find_library()
...
4. Search the standard system environment variables. This can be skipped if 
NO_SYSTEM_ENVIRONMENT_PATH is an argument.
   PATH
   LIB
5. Search cmake variables defined in the Platform files for the current 
system. This can be skipped if NO_CMAKE_SYSTEM_PATH is passed.
   <prefix>/lib for each <prefix> in CMAKE_SYSTEM_PREFIX_PATH
   CMAKE_SYSTEM_LIBRARY_PATH
   CMAKE_SYSTEM_FRAMEWORK_PATH"

It doesn't mention the contents of CMAKE_SYSTEM_LIBRARY_PATH, since these are 
different depending on the platform. For the UNIX-like operating systems they 
are set in cmake/Modules/Platforms/UnixPaths.cmake.
/usr/local/lib is part of them.

Which problem exactly do you have ?
If something is in /usr/local, it should be found.

If you are using a different install prefix, e.g. $HOME/mystuff, I would 
recommend you set the CMAKE_PREFIX_PATH environment variable before running 
cmake: $ export CMAKE_PREFIX_PATH=$HOME/mystuff

Then cmake will look in the include/, lib/ and bin/ subdirs of all directories 
listed in CMAKE_PREFIX_PATH.


Alex




More information about the kde-core-devel mailing list