Remove SCons building system

While SCons building system was serving us really good for ages it's no longer
having much attention by the developers and started to become quite a difficult
task to maintain.

What's even worse -- there started to be quite serious divergence between SCons
and CMake which was only accumulating over the releases now. The fact that none
of the active developers are really using SCons and that our main studio is also
using CMake spotting bugs in the SCons builds became quite a difficult task and
we aren't always spotting them in time.

Meanwhile CMake became really mature building system which is available on every
platform we support and arguably it's also easier and more robust to use.

This commit includes:

- Removal of actual SCons building system
- Removal of SCons git submodule
- Removal of documentation which is stored in the sources and covers SCons
- Tweaks to the buildbot master to stop using SCons submodule
  (this change requires deploying to the server)
- Tweaks to the install dependencies script to skip installing or mentioning
  SCons building system
- Tweaks to various helper scripts to avoid mention of SCons folders/files
  as well

Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit

Reviewed By: campbellbarton, juicyfruit

Differential Revision: https://developer.blender.org/D1680
This commit is contained in:
Sergey Sharybin
2016-01-04 14:20:48 +05:00
parent 1eb5e0b660
commit 5d99cde822
173 changed files with 10 additions and 14732 deletions

View File

@@ -1,92 +0,0 @@
#!/usr/bin/env python
#
# ***** BEGIN GPL LICENSE BLOCK *****
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# The Original Code is Copyright (C) 2012, Blender Foundation
# All rights reserved.
#
# The Original Code is: all of this file.
#
# Contributor(s): Bastien Montagne.
#
# ***** END GPL LICENSE BLOCK *****
Import('env')
sources = env.Glob('*.cpp')
if env['OURPLATFORM'] in ['darwin']:
# Cocoa code to read user locale on OSX
sources.append('osx_user_locale.mm')
incs = '.'
defs = []
if env['WITH_BF_INTERNATIONAL']:
defs.append('WITH_INTERNATIONAL')
incs += ' ' + env['BF_BOOST_INC']
env.BlenderLib( 'bf_intern_locale', sources, Split(incs), defs, libtype=['intern','player'], priority=[10, 185])
if env['WITH_BF_INTERNATIONAL']:
import os
from os.path import dirname
def normpath(path):
return os.path.abspath(os.path.normpath(path))
# build directory
source_dir = Dir('.').srcnode().path
root_build_dir = normpath(env['BF_BUILDDIR'])
root_source_dir = dirname(dirname(normpath(source_dir)))
po_dir = os.path.join(root_source_dir, "release", "datafiles", "locale", "po")
build_dir = os.path.join(root_build_dir, 'locale')
if os.path.exists(po_dir):
# create directory if needed
if not os.path.exists(build_dir):
os.makedirs(build_dir)
msgfmt_tool = env.Clone()
msgfmt_tool.Append(LINKFLAGS = env['PLATFORM_LINKFLAGS'])
targetpath = root_build_dir + '/msgfmt'
msgfmt_target = msgfmt_tool.Program(target = targetpath, source = ['msgfmt.cc'])
locale = env.Clone()
# dependencies
dependencies = [msgfmt_target]
# add command for each locale
all_mo_files = []
for f in os.listdir(po_dir):
if not f.endswith(".po"):
continue
po_file = os.path.join(po_dir, f)
mo_file = os.path.join(build_dir, os.path.splitext(f)[0] + ".mo")
command = "\"%s\" \"%s\" \"%s\"" % (targetpath, po_file, mo_file)
locale.Command(mo_file, po_file, command)
locale.Depends(mo_file, dependencies)
all_mo_files.append(mo_file)
env.Depends("boost_locale_wrapper.cpp", all_mo_files)