[opensource-dev] autobuild setting UNATTENDED questions

Brad Kittenbrink (Brad Linden) brad at lindenlab.com
Thu Mar 31 14:57:25 PDT 2011


Sorry I let this sit for a while without replying, here are my thoughts:

On Sat, Mar 26, 2011 at 7:18 AM, Ima Mechanique <
ima.mechanique at blueyonder.co.uk> wrote:

> Thanks for replying Brad
>
> > The working directory setting may no longer be necessary after this
> > change<
> https://bitbucket.org/merov_linden/viewer-autobuild2010/changeset/339c25d7046e
> >.
> > If so, that's good news.  However, I believe that we also use it for
> setting
> > the default configuration to RelWithDebInfo, which we still require.
>
> Could you expand on this? I'm assuming the "it" is vstool or UNATTENDED,
> but the only other references to either I can find in the source tree
> are part of the autobuild.xml configuration for Debug, RelWithDebInfo,
> and Release (which do seem to be setting configuration type for startup).
> If that is what you're referring to, then the CMakeLists.txt part could
> be safely removed and OS devs could remain happily oblivious to its use?
>

By 'it', I was referring to vstool.  The UNATTENDED variable is required to
support the enabling and disabling of that vstoool block of CMake code in
indra/newview/CMakeLists.txt.  We do not intend to delete that block of
code, as I said, that functionality is still required.  Frankly, VCExpress
devs need to support their own tools properly here, so they cannot be
oblivious to this until we get patches that solve these issues.  For now
this information has to be specified manually and the UNATTENDED variable is
as fine an interface as any for that now.  If someone discovered a builtin
CMake variable for automatically detecting whether the visual studio
installation is Express or Professional, then we should use that instead of
manually specifying this with UNATTENDED, but I'm not aware of one.


> > 2) If it really is necessary, could we change the program run (vstools)
> > > to something more compatible with all VC versions. Now the project
> files
> > > are XML based, it should be possible to do this as part of autobuild
> > > itself.
> > >
> > >
> > The source for vstool is
> > here<
> https://bitbucket.org/merov_linden/viewer-autobuild2010/src/tip/indra/tools/vstool/main.cs
> >.
> > (Yes, it's C#, don't ask me...)  If there's a way to make it compatible
> with
> > VCExpress I'd love to do so, but to my knowledge VCExpress doesn't expose
> > the macro apis that this relies upon, so it's likely impossible to
> directly
> > extend that script to this case.  I don't think it makes sense to build
> > support for tweaking these xml files into autobuild, as autobuild is
> > intended to be as fully decoupled from the details of individual build
> > systems as possible.
>
> Agreed about autobuild, I was thinking something like a python script
> that autobuild/cmake could use instead of vstool. However, it seems
> this is unnecessary now.
>

I strongly doubt that such a python script would be a better solution than
vstool.   We've got code that works for all VCPro developers that require
this functionality, and we have a good way to disable this functionality for
VCExpress developers who don't require it.  I don't think it's a good use of
our time to do anything more than that.


> > An alternative is getting this kind of feature built into cmake.  For
> > example, this issue <http://public.kitware.com/Bug/view.php?id=8884> is
> a
> > feature request for making another kind of modification to the
> > *.vcproj.*.user configuration file where these settings are saved.
> >
> > In the mean time, I would definitely recommend updating the VCExpress
> > configurations to pass -DUNATTENDED:BOOL=ON on the command line until we
> > find a better solution for this.
>
> Already done and in my repo, although it's not a "VC Express"
> configuration it's for any OS VC 2010
>

Cool, sounds good.


>  > We used to do a lot more with the
> > --unattended argument to develop.py, but I think this is all that remains
> of
> > that cruft, so it's safe to use for this purpose.
>
> So if the autobuild.xml is what you were referring to above,  could we
> safely
> remove all references to UNATTENDED (TC and OS), and remove lines 1581 -
> 1594 from indra/newview/CMakeLists.txt?
>

No.
The UNATTENDED variable is the preffered way to configure whether vstool is
used or not.  Those lines are still required.  Again, I'd prefer cmake
included some automatic variable for detecting this, but what we have works.

-Brad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20110331/9d4dfa97/attachment.htm 


More information about the opensource-dev mailing list