[osg-users] [osg-submissions] API configurations in aseparateConfig include file

James Killian James_Killian at hotmail.com
Wed Jun 25 19:52:35 PDT 2008


Thanks for explaining things:

For the first point about using config files, that's cool... I am in no 
position to judge whether or not to do that since I do not have experience 
building on other platforms, but at the same time I do know the perception 
this has for those who build with VS and my first impression of this was the 
same especially before I knew how it was suppose to work.


As for the second point I'll be looking forward to hearing back from you 
and/or Mathias when this is resolved, then I'll try to build again.

The third point:

Well I'll give Cmake 2.6 another shot.  I tried it too early before and it 
had some strange behavior.  Hopefully now since a lot of people are using it 
I'll feel a bit more confident that it will work.  I may get back with you 
on the Install workflow, but I'll need to see how 2.6 looks first.


James Killian
----- Original Message ----- 
From: "Jean-Sébastien Guay" <jean-sebastien.guay at cm-labs.com>
To: "OpenSceneGraph Users" <osg-users at lists.openscenegraph.org>
Sent: Wednesday, June 25, 2008 10:59 AM
Subject: Re: [osg-users] [osg-submissions] API configurations in 
aseparateConfig include file


> Hello James,
>
> I think you're mixing things up. There are three different issues here:
>
> 1. The choice to use Config headers.
> 2. The fact that the Atomic header includes windows.h.
> 3. The fact that your version of CMake chooses the wrong configuration and 
> does not generate the Config header.
>
> Number 1 is a design choice. The choice is basically between having a file 
> that defines options that affect the build, and needing to specify those 
> options as defines in *each* project that uses OSG. I can see why the 
> choice to have a Config file was taken. Otherwise, you would have to 
> support people configuring their OSG build one way and then linking to it 
> in a project where the incorrect define was being used, which would happen 
> more often than you'd think. Having a Config header ensures that both the 
> built version of OSG and your project use the same options (as long as the 
> same Config header is included for both).
>
> Number 2 was a mistake (by the person who made the change, but still 
> unrelated to the choice in number 1), and is being rectified as we speak. 
> Check the messages from yesterday. *That* is what's breaking the build on 
> Windows right now.
>
> As for Number 3, I believe that is caused by CMake 2.4.x. This can be 
> investigated and fixed *after* the windows.h issue is fixed, which is much 
> more major (as it affects *everyone* building on Windows, independently of 
> the version of CMake they use). A workaround for you would be to get CMake 
> 2.6 from cmake.org. Then you would get the right configuration 
> (interlocked), the Config header would be generated and used, and you 
> would see the windows.h include problem... At least that's what I think. 
> :-)
>
>> "
>>  you don't need anything different than
>> before, since the Config headers are installed with your other OSG
>> headers.
>> "
>> Do you have an "out-of-source" configuration or in source?
>> I use the "out-of-source" configuration and so the config headers are
>> installed in the <build> directory.
>
> I use an out-of-source build with CMake 2.6, and the Config header is 
> being generated just fine. But what I was talking about in the line you 
> quoted above is that OSG headers are including the Config headers. If you 
> don't do an INSTALL (or make install), then the Config headers are not 
> together with your other OSG headers.
>
> Config headers:
> OpenSceneGraph/<build>/include/OpenThreads/Config
> OpenSceneGraph/<build>/include/osg/Config
>
> Other headers:
> OpenSceneGraph/include/OpenThreads/*
> OpenSceneGraph/include/osg/*
>
> So the other headers won't find #include <OpenThreads/Config> or #include 
> <osg/Config> unless you add the directories above (in <build>) to your 
> include file search path. Which was not required before.
>
> But if you do an INSTALL, you don't have that problem, because the INSTALL 
> target copies the Config headers to the same place as the other headers, 
> and so #include <OpenThreads/Config> will work without any change to your 
> project files.
>
> I hope that clears things up.
>
>
>> (FYI this is in plain text so you should be able to see it) :)
>
> Thanks :-)
>
>
> J-S
> -- 
> ______________________________________________________
> Jean-Sebastien Guay    jean-sebastien.guay at cm-labs.com
>                                http://www.cm-labs.com/
>                         http://whitestar02.webhop.org/
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> 



More information about the osg-users mailing list