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