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.mechani...@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
_______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges