[osg-submissions] Using command-line build system nmake to build OpenSceneGraph does not work
René Molenaar
megamillerzoid at gmail.com
Tue Feb 12 05:57:53 PST 2008
The idea of the OSG_MSVC_VERSIONED_DLL hack is this;
* the dll are versioned by prefixing the name with
osg${OPENSCENEGRAPH_SOVERSION}-
* the dll's are placed in the binary folder
The result is that you can skip install to run application, just go to the
bin folder, the dll's and plugins can now be found (because they are there).
The versioning is to prevent or reduce 'dll hell' see
http://en.wikipedia.org/wiki/Dll_hell
This hack broke the power of cmake: "CMake generates native makefiles and
workspaces that can be used in the compiler environment of your choice." If
your choice happens to be nmake (not very obvious one I guess...) the
makefiles will have an error.
These files make it possible to use nmake again (it always worked fine),
with the OSG_MSVC_VERSIONED_DLL results.
Hope that answers your question.
Rene
2008/2/12, Serge Lages <serge.lages at gmail.com>:
>
> Hi,
>
> I really don't understand what's the goal of this patch. Personnaly I
> build OSG under Windows with command line batch (not nmake, just batch
> scripts), that means that I will not have the dll versionned or that the
> current paths will change ?
>
> Can you explain a little more what's the behaviour of this patch ?
>
> On Feb 12, 2008 11:40 AM, René Molenaar <megamillerzoid at gmail.com> wrote:
>
> > Using commandline build system nmake on windows does not work.
> >
> > This is caused by the OSG_MSVC_VERSIONED_DLL hack.
> > there are hard-coded paths to place the dll's in the bin /dir that
> > normally would go
> > in the lib/config (release/debug) dirs. Nmake has different locations
> > for the files (no config dir).
> >
> > fix: change the macro's in OsgMacroUtils.cmake for the IF(NOT MSVC_IDE)
> > situation.
> > Libs go in lib/, and DLLs and executables go in bin/
> > To accopmplish this for MSVC_IDE the targets get a "../../bin" prefix,
> > for nmake this should be "../bin" (because there are no config
> > folders).
> >
> > This fix mimics the behaviour of the MSCV_IDE (visual studio) build
> > system when building with nmake.
> >
> > Note:
> > A change in the main CMakeLists.txt creates the needed plugin directory
> > in the binary dir.
> >
> > see included files for the changes:
> > r7885fix-v2/CMakeModules/OsgMacroUtils.cmake
> > r7885fix-v2/osgWrappers/CMakeLists.txt
> > r7885fix-v2/CMakeLists.txt
> >
> >
> > The behaviour of visual studio projects (and other build systems) remain
> > unchanged.
> > Tested building and installing with nmake and visual studio 8 debug and
> > release.
> >
> >
> >
> > Submitted by: René Molenaar
> > to: osg-submissions at lists.openscenegraph.org
> > email: megamillerzoid at gmail.com
> >
> > _______________________________________________
> > osg-submissions mailing list
> > osg-submissions at lists.openscenegraph.org
> >
> > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
> >
> >
>
>
> --
> Serge Lages
> http://www.tharsis-software.com
> _______________________________________________
> osg-submissions mailing list
> osg-submissions at lists.openscenegraph.org
>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openscenegraph.org/pipermail/osg-submissions-openscenegraph.org/attachments/20080212/f36b5a63/attachment.html
More information about the osg-submissions
mailing list