[Bf-committers] SCons build system future

Campbell Barton ideasman42 at gmail.com
Mon Dec 21 01:50:20 CET 2015


Some of the issues you've described seems quite strange and I've never
encountered on MS-Windows+MSVC.

On Mon, Dec 21, 2015 at 5:08 AM, matmenu <matmenu at live.fr> wrote:
> Exactly what Antony said. Nobody will care what the building system is,
> if it works out of the box. At the moment, it works perfect on Linux,
> but it's still not working flawlessly on windows for me and other
> friends. We made a little list of things that don't work properly:
> - When using the cmake_full script, 2 modules fail to build in VS2013
> (blenderplayer-related).

What fails? can you link to build error?

> - "cmake_full" script is not default.

This is also the case with CMake on Linux/OSX,
though the reasoning for this on Linux is that linking errors with
FFMPEG/Collada/LLVM are more common - and the libraries are not
essential in many cases.

> - With Scons it is a one-line cmd that compiles a release-like build in
> one step. With cmake, following the wiki doc, we have to 1) Start the
> GUI and choose the folders 2) configure, change some parameters manually
> 3)generate solutions, 4) open VS 5) switch from debug (default) to
> release 6) start the building process.

On Unix systems we have a convenience makefile that handles this
('make' in the source dir to configure+build+install).
We could have a BAT file for Windows to do the equivalent steps.

> - Switching branches is a pain. Everytime we switch the branch, we have
> to 1)delete cache, 2)configure and add my cutom params manually agin
> (with scons, it was just added to the scons script) 3) generate solution
> etc... otherwise, not all files are taken into account (for example for
> object_nodes branch which has a lot of new files) and build fails. With
> scons, the git checkout was enough to have the branch-specific scons
> script and run the one-line again.

I've never heard of switching branches needing to delete cache,
What custom params are you having to set each time?

> So I agree that the best experience on Linux is with Cmake, but on
> Windows, it's still far away from ideal. Maybe just because I don't know
> Cmake on windows well and the wiki doc is not adapted, but either it's
> in doc or scripts or both, there is still some things to do to make it a
> good switch. Fixing windows specific-bugs is already not funny, so it
> would be good to make the build process as easy as with scons.

With the issues you run into, its best if we can try to redo and fix them.

> Am 20/12/2015 um 16:37 schrieb Antony Riakiotakis:
>> +1 to drop scons. It may be easy to setup for casual builders, but so
>> is cmake, if we provide good defaults.
>>
>> On 20/12/2015, Thomas Dinges <blender at dingto.org> wrote:
>>> I use SCons too, but I also use CMake from time to time, so it's not a
>>> big deal to switch over.
>>>
>>> Therefore, I fully support removing SCons. Not sure we really need to
>>> wait for 2.8x to do it though, imho it's fine to drop it now, we still
>>> need 1-2 months before a new 2.7x release I guess, should be time enough
>>> to communicate the change.
>>>
>>> Thomas
>>>
>>> Am 20.12.15 um 15:22 schrieb Mike Erwin:
>>>> I use SCons but support the idea of having only one build system. Never
>>>> had
>>>> much luck building Blender with CMake but am willing to learn!
>>>>
>>>> -- Mike
>>>> _______________________________________________
>>>> Bf-committers mailing list
>>>> Bf-committers at blender.org
>>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers



-- 
- Campbell


More information about the Bf-committers mailing list