[cmake-developers] Adding the OpenRAVE library module

Rosen Diankov rosen.diankov at gmail.com
Fri Apr 15 06:10:43 EDT 2011


Although the logical package name is OpenRAVE, i decided it would be
more consistent with the rest of the installation files if
openrave-config.cmake was used.

rosen,

2011/4/15 Rosen Diankov <rosen.diankov at gmail.com>:
> Hi Brad,
>
> Ok, just released a new version of OpenRAVE that uses configuration
> files. I'm attaching the final cmake files, can you double check to
> make sure there are no problems?
>
> I wasn't really sure what changes are needed to use the new registry
> functions you committed. is there a nightly build of cmake somewhere?
>
> Also here's my comments while going through this:
>
> in the -version.cmake file, PACKAGE_FIND_VERSION is not set when just
> using find_package(OpenRAVE), therefore i had to enclose everything
> with:
>
> if( PACKAGE_FIND_VERSION )
> ...
> else()
>  set(PACKAGE_VERSION_COMPATIBLE 1)
> endif()
>
> is this correct?
>
> the wiki says to set foo_LIBRARY, where the cmake readme says _LIBRARY
> is deprecated, _LIBRARIES should be used. which one is it?
>
> I read all the documentation on imported/exported targets, but there's
> one thing i don't understand. Is this a replacement for configuration
> files? Or are imported targets declared inside configuration files and
> used in conjunction with OpenRAVE_LIBRARIES variables?
>
>
> EXPORT targets are not working for me as expected.
>
> the libopenrave library links to static libraries, which will never be
> exported from openrave, but i get the following message:
>
> CMake Error: INSTALL(EXPORT "openrave-targets" ...) includes target
> "libopenrave" which requires target "crlibm" that is not in the export
> set.
>
>
> thanks,
> rosen,
>
> 2011/4/14 Brad King <brad.king at kitware.com>:
>> On 04/13/2011 11:32 AM, Rosen Diankov wrote:
>>> ok, the changes you are proposing sound exciting! perhaps this can be
>>> a start for a truly cross platform package management system ;0)
>>
>> If only ;)
>>
>>> so is the best approach for now to create a minimal FindOpenRAVE.cmake
>>> to give to user, and put FindOpenRAVEConfig.cmake in
>>> $installprefix/lib/cmake/?
>>
>> The name "FindOpenRAVEConfig" makes no sense.  The files are:
>>
>> - FindOpenRAVE.cmake goes in user applications and contains basically
>>
>>  find_package(OpenRAVE NO_MODULE PATHS ${REGISTRY_ENTRIES})
>>
>> - OpenRAVEConfig.cmake goes in the directory
>>
>>    <prefix>/lib/cmake/OpenRAVE-${VERSION}
>>
>> - OpenRAVEConfigVersion.cmake goes in next to the config file.
>>  http://www.cmake.org/Wiki/CMake/Tutorials/Packaging#Package_Version_Files
>>
>> -Brad
>>
>



More information about the cmake-developers mailing list