On Sat, Jan 31, 2009 at 4:22 AM, Luigi Calori <l.cal...@cineca.it> wrote:

> Hi Philip: I did not know you has access to the CMake CVS, good to know,.
> I had to change my FindOSG as I need to find also .dll and .so on windows
> and linux.
> So I needed both version as well soversion, so I decided to run the
> osgversion utility
> Furthermore, it seem to me that osgversion provide other flags to check for
> defines that have been specified in the build process of the osg found. like
> OSG_USE_FLOAT_MATRIX, OSG_USE_FLOAT_PLANE or OSG_USE_FLOAT_BOUNDINGSPHERE,
> are those still required to be defined when compiling against osg or they
> are not used anymore?


That is a good question, I'm not sure when <osg/Config> was added to the
build in relation to those preprocessor definitions being added.


>
> I decided to grab VPB version of FindOSG as really  do not fully understand
> the nedd of a separate Findosg<component> .
> I see that other Find modules that have multiple components such as
> ImageMagick are implemented as single file.
> In my opinion, having a single file is more handy if  you do not use cvs
> CMake and also help in keeping the distributed CMake Modules directory
> cleaned,
> I think we could just find all the components available in the "standard"
> place and test the requirements against them.


We can't remove Findosg<Component>.cmake from CMake for backwards
compatibility reasons so I've instead focused on making those files as tiny
as possible and clumping the function calls in Findosg_functions.cmake.

I think eventually the extensibility of FindOpenSceneGraph.cmake will pay
off.  In the long term it can be used by 3rd party nodekit developers so
they can write their own FindosgFoo.cmake to allow their nodekits to be
found alongside the OSG, without having to worry about submitting code
patches to allow their nodekit to be detected.

Obviously in the short term so long as you can't declare CMake minimum
version >= 2.6.3 the only real annoyance (assuming you want to use this at
all) is needing to download & CM 4+x files in your CMAKE_MODULE_PATH (where
x = the number of nodekits you use in your project).  Of these 4+x files
only 2 will likely ever change, Findosg_functions.cmake &
FindOpenSceneGraph.cmake.  Findosg.cmake & FindOpenThreads.cmake are
obviously always required for very good reasons. =)


> If some of the macro I use for copying lib and plugins dll could be useful
> to someone else, let me know, I can try to assemble them better.


There is something new in CMake called GetPrerequisites.cmake you may want
to investigate.  I assume it may still may have some bugs in it, but it aims
at determining the DLL dependencies of your LIB files at which point you can
do whatever you want with the list (copy to build tree, INSTALL(), etc.)

Making it easier for new CMake users to copy files to either MSVC build
trees or standard build trees is something I'd like to see supported within
CMake/Modules with an easy to use API.  Everybody seems to have either come
up with their own home-brewed solution for this one or have cobbled together
something from mailing list posts.

-- 
Philip Lowman
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to