[Bf-committers] Proposal to switch both master and blender2.8 to c++11 be default.

Martijn Berger martijn.berger at gmail.com
Sun Nov 20 14:45:58 CET 2016


Hi everyone,

We have had a discussion about c++11 for at least 2 years. We have decided
to allow c++11 features in 2.8, and this implies compiling in c++11 mode
with a supporting compiler. This email is not about that.

What i want to propose is to build master ( 2.7x ) in c++11 mode against
libraries that are in c++11 ABI ( on platforms that make this distinction.
That does not imply allowing c++11 only features or dropping the
possibility of being able to compile in c++03 mode.

Why would we want to do that ?

1) we are already sort of doing it on windows. MSVC does not really allow
you to disable its c++11 support.

2) Modern systems are defaulting to it. this should have nothing to do with
us except that it does. We have users trying to use python extensions with
blender that we ourselves do not ship. On MacOS the compiler and thus
things like homebrew compile against libc++ for some time now people who
try to compile extensions need to jump through a lot of hoops in order for
things to work.

3) It fits very well with preparing our build-system and libraries for the
future / Blender 2.8. We decided to go that way and while i agree we should
not make 2.7x depend on c++11 i think building it by default as c++11 does
not contradict that decision.

4) We could start to use llvm versions greater then 3.4 for release builds
as those need a c++11 compiler

I would like to move to msvc2015 for Windows and darwin/libc++/c++11 for
MacOS for 2.7x. and 2.8

The only mayor downside i see is that we would effectively drop OS X 10.8
and earlier.



Martijn


More information about the Bf-committers mailing list