[CMake] OpenSceneGraph Find Modules

Miguel A. Figueroa-Villanueva miguelf at ieee.org
Fri Jan 4 15:09:50 EST 2008


On Jan 4, 2008 3:23 PM, Brandon Van Every wrote:
> On Jan 4, 2008 2:09 PM, Luigi Calori wrote:
> >
> > I would also prefer to have one single FindOpenSceneGraph that finds and
> > configure the different libraries that comprise OSG.
>
> Such an attitude can carry a strong Linux bias.  I ran into that
> difficulty with Chicken Scheme when importing SDL modules.  The SDL
> import was monolithic, pulling in lotsa 3rd party packages that are
> typically used with SDL but not strictly required.  If any of the
> packages is missing the build breaks.  I don't mean gracefully
> excludes an unavailable package, I mean it keels over and dies.  This
> doesn't trouble Linux users because they typically press a few buttons
> and start downloading standardized, well-tested packages.  Including
> everything and the kitchen sink isn't a big deal to a Linux user.  But
> for a Windows user, there simply aren't colossal standard archives of
> libraries floating around.  Every dependency has to be grabbed by
> hand.

Hello Brandon,

I'm kind of lost here with your argument. If I get it wrong, please
just clarify it.

I don't think this carries the bias you present. The idea is not to
force the user to have all packages installed if they are optional.
The module should only fail if a *required* package is not found. If
the SDL module was poorly designed in that sense, then it needs some
enhancements.

What I was suggesting is that instead of having the following modules separate:

> Findosg.cmake
> FindosgDB.cmake
> FindosgFX.cmake
> FindosgGA.cmake
> FindosgIntrospection.cmake
> FindosgManipulator.cmake
> FindosgParticle.cmake
> FindosgProducer.cmake
> FindosgShadow.cmake
> FindosgSim.cmake
> FindosgTerrain.cmake
> FindosgText.cmake
> FindosgUtil.cmake
> FindosgViewer.cmake

You should have a single FindOpenSceneGraph.cmake module and provide a
mechanism to use (if available) the different components of the
library (FX, GA, Introspection, etc.) that the user is interested in.

--Miguel


More information about the CMake mailing list