Page 1 of 1

Building Ogre RendererModule, boost headers?

Posted: Wed Jan 20, 2010 00:44
by emarcotte
Hi,

Making progress on my windows environment for coding. I realized that I needed my Ogre build to be enable thread support (boost currently). This makes it so that the headers for ogre pull in boost headers.

Is it possible to get the windows premake scripts to detect the ogre include paths like configure does when using pkg-config? Currently I have to generate the VS project from the build_vs2008.bat file each time I have to regenerate the vs project I have to manually go in and add lib/include paths for boost.

This works, but is there a better way?

Oh.. right, versions: cegui v0-7 branch and ogre 1.7 branch

Eugene

Re: Building Ogre RendererModule, boost headers?

Posted: Wed Jan 20, 2010 10:01
by CrazyEddie
Hi,

There is no provision for this at the moment as far as I can tell. I think what we might have to add is a system where the user can add any 'extra' sdk paths in the config, and these will then be added to the search paths in the generated projects.

Of course we could just add a setting for if the user is using Ogre with boost, though I think it's a little rigid. A more open-ended and flexible solution would be preferable and more useful in the future :)

I'll have a think about this some more, because there's a couple of ways this could be done.

CE.

Re: Building Ogre RendererModule, boost headers?

Posted: Fri Jan 22, 2010 14:13
by CrazyEddie
Hi again,

In the v0-7 branch I have now added a provision to the premake system in order that a user can add custom paths to any (or all) of the sub-projects that comprise CEGUI.

The relevant part is the CEGUI_EXTRA_PATHS table in the config.lua file:

Code: Select all

-- Extra SDK / dependency paths.
--
-- Here you can set up any additional paths you require for the various projects
-- in CEGUI.  This is useful if, for example, you are using some SDK that has
-- additional external dependencies of it's own (for example, boost used with
-- Ogre).  All you need to do is add an entry in the following table to indicate
-- the base directory, include sub-directory, library-subdirectory, and optionally
-- the name of the CEGUI project to add the paths to (if no project is given, the
-- paths are added to /all/ projects).
--
-- NB: Each entry should be surrounded by curly braces, and be separated with a
-- comma.
--
-- e.g to add some boost paths to build for the Ogre renderer module, you could add:
--      { "C:/boost", "include", "lib", "CEGUIOgreRenderer" }
--
CEGUI_EXTRA_PATHS = {
}


To add some extra dirs, you would end up with something like:

Code: Select all

CEGUI_EXTRA_PATHS = {
        { "C:/boost", "include", "lib", "CEGUIOgreRenderer" },
        { "C:/AnotherSDK", "include", "lib" }
}


The first entry adds some paths for boost to the CEGUIOgreRenderer component, while the second adds some extra paths to every project within the CEGUI solution (may not be immediately useful, but I wanted that flexibility!).

HTH

CE.

Re: Building Ogre RendererModule, boost headers?

Posted: Sun Jan 24, 2010 02:44
by emarcotte
Cool. I'll definitely give this a try. I finally got all my windows things building and working, so it shouldn't be too hard to try this out now :D

Thanks!

Re: Building Ogre RendererModule, boost headers?

Posted: Sun Jan 24, 2010 18:35
by emarcotte
Nice. This will definitely save some clicking through the terrible VS settings windows!

For reference this is what I ended up using, since boost's binary installers setup the install headers without a formal include directory:

Code: Select all

CEGUI_EXTRA_PATHS = {
   {"C:/Program Files/boost/boost_1_40", "/", "lib", "CEGUIOgreRenderer"}
}


Nice work, and thanks!

Re: Building Ogre RendererModule, boost headers?

Posted: Mon Jan 25, 2010 09:02
by CrazyEddie
Thanks for confirming it actually works out in the real world :) I might update the comment for that option to reflect the actual line you used, since mine was just a guess :lol:

CE.