[cmake-developers] Adding the OpenRAVE library module

Brad King brad.king at kitware.com
Fri Apr 15 09:18:36 EDT 2011


On 04/15/2011 08:49 AM, Rosen Diankov wrote:
> thanks for the answers! for now i'm not sure if i want to spend time
> tweaking the LINK_INTERFACE_LIBRARIES property, it's getting a little
> too complicated just to get exports working right.

It's probably just one line right after add_library(mysharedlib):

  set_property(TARGET mysharedlib PROPERTY LINK_INTERFACE_LIBRARIES "")

Exporting targets is really the way to go.  It is much nicer for apps.

> since we're not doing any find_library(OpenRAVE) calls, does that mean
> it is ok to use OpenRAVE_LIBRARY in my current setup? What would you
> recommend?

The config file doesn't actually have to set a variable at all for any
specific library if it uses imported targets.  The application can
just name the library.  If you have several libraries that are typically
used together then it might be convenient to list them in a variable
like OpenRAVE_LIBRARIES.

> As for the registry, I just checked my windows and i have this key
> HKEY_LOCAL_MACHINE\\Software\\Kitware\\CMake 2.8.4

This is created by the installer of a specific CMake version and is
related to CMake itself.

> however the cmake documentation says to put package specific stuff into:
> 
> HKEY_LOCAL_MACHINE\\Software\\Kitware\\CMake\\Packages\\OpenRAVE
> 
> where version is ignored. Is this correct?

Yes.  Your package does not care what version of cmake will be
looking for it.

> i am just be setting the prefix to be read as the default key right?

It should be a named value under the key.  The name of the value is
arbitrary.  It is up to you to ensure that it doesn't conflict if
multiple versions of your package are installed, so choose a name
accordingly.  It could even be something fancy like a hash of the
install destination path, but that requires some non-trivial installer
logic.

-Brad



More information about the cmake-developers mailing list