David Williams wrote:
Actually I experimented with this only a week or two ago. I was trying to get PolyVox to build in C++0x mode on Visual Studio 2008 with SP1 - my understanding was that this was supposed to support the required C++0x features. Unfortunatly I didn't get it to work, and a search of my Visual Studio folder didn't indicate that I had any C++0x headers available. Maybe I did something wrong, or maybe there's a command line flag I have to set somewhere.
If there is a compiler flag you have to set (and likely there is) then just add it to the
ELSEIF(MSYS) section in the root directory's CMakeLists.txt (see the GNUCXX example the lines above). If there is no flag, then simply make sure the line is at least uncommented and setting C_PLUS_PLUS_ZERO_X_SUPPORTED (which is used in CPlusPlusZeroXSupport.h).
David Williams wrote:
Anyway, Visual Studio 2010 is in Release Candidate status now and this is the version which should support C++0x properly. Once I pass my deadline at the end of the month I intend to wipe my machine and install newer versions of everything (Win 7, VS 2010, etc). At that point we can probably remove the Boost compatibility stuff completly and switch properly to C++0x.
Ok. Once Visual Studio 2010 is released, I'll try compiling it with it too. I'm sure between us it'll be no trouble. There are also some nice features in CMake 2.8 which came out recently, I'm avoiding using them for now (and probably will continue for several months yet) but at some point I'll probably bump the version requirement.
David Williams wrote:
In the meantime you can make C++0x the default if you like, as long as there is still the option to use Boost instead. And yes, Boost is only used for C++0x support. shared_ptr and the integer types such as int32_t I think.
Ok, I'll change the default but the option will remain like it is now. You'll simply need to set ENABLE_CPP0X to OFF and nothing should change.