After thinking about it, it really doesn't make sense for static libraries to be part of the exports. rosen,
2011/4/15 Rosen Diankov <[email protected]>: >> set_property(TARGET mysharedlib PROPERTY LINK_INTERFACE_LIBRARIES "") > > but wouldn't that also affect how the libraries are linked? for > example, libopenrave target links to boost. and any module using > libopenrave should still use boost. however the static libraries > libopenrave links to like crlibm don't need to be handled this way. > From what i understood in the documentation, I would have to set > LINK_INTERFACE_LIBRARIES to all the non-static install libraries > right? > > for the registry, the name could just be the version string right? > > so i would have > > "0.3.0" = "C:\Program Files\OpenRAVE-0.3" > > where the configuration file is in: > > C:\Program Files\OpenRAVE-0.3\lib\cmake\openrave-0.3 > > thanks! > rosen, > > 2011/4/15 Brad King <[email protected]>: >> 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 >> > _______________________________________________ cmake-developers mailing list [email protected] http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
