[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