CMake: Solve compilation error with pre-compiled libraries and new GCC-6
Since version 6 G++ switched to C++11 by default, which breaks some logic around WITH_CXX11 checks in out CMake files, leading to compilation errors. This is easy to solve by explicitly enabling older C++ standard when C++11 was not explicitly enabled by CMake options. However, G++-6 will also use new ABI by default even if older standard was specified in the compiler options. This is being addressed by a special define flag. This tricks made it possible to use new G++-6 without need to recompile any of pre-compiled libraries. However, this might break compilation with existing system libraries, which might already be using new ABI. We can't address this automatically, so now we simply default WITH_C11 and WITH_CXX11 options to whatever defaults of the current compiler are. This means, for G++-6 we'll set WITH_CXX11 to truth. This should make linking with system libraries working just fine, but to make pre-compiled libraries we still might need to disable CXX11. This should work fine work for a new environments with G++-6 and install_deps script run from scratch there, because C++ standard will be the same for both Blender dependencies and Blender itself.cycles_disney_bsdf_transmittance
parent
e21af38f69
commit
6115267a84
Loading…
Reference in new issue