2012-12-17 08:01:43 +00:00
|
|
|
#!/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) 2006, Blender Foundation
|
|
|
|
# All rights reserved.
|
|
|
|
#
|
|
|
|
# The Original Code is: all of this file.
|
|
|
|
#
|
|
|
|
# Contributor(s): Nathan Letwory.
|
|
|
|
#
|
|
|
|
# ***** END GPL LICENSE BLOCK *****
|
|
|
|
|
2008-10-31 23:50:02 +00:00
|
|
|
Import ('env')
|
|
|
|
|
|
|
|
objs = []
|
|
|
|
|
|
|
|
o = SConscript('intern/SConscript')
|
|
|
|
objs += o
|
|
|
|
|
2013-05-20 18:42:28 +00:00
|
|
|
incs = [
|
|
|
|
'.',
|
|
|
|
'./intern',
|
|
|
|
'#/intern/guardedalloc',
|
2013-08-19 10:51:40 +00:00
|
|
|
'#/intern/atomic',
|
2013-05-20 18:42:28 +00:00
|
|
|
'#/intern/memutil',
|
|
|
|
'#/extern/glew/include',
|
|
|
|
'#/intern/audaspace/intern',
|
|
|
|
'#/intern/cycles/blender',
|
|
|
|
'#/intern/smoke/extern',
|
|
|
|
'../blenfont',
|
|
|
|
'../blenkernel',
|
|
|
|
'../blenlib',
|
|
|
|
'../bmesh',
|
|
|
|
'../editors/include',
|
|
|
|
'../gpu',
|
|
|
|
'../ikplugin',
|
|
|
|
'../imbuf',
|
|
|
|
'../makesdna',
|
|
|
|
'../nodes',
|
|
|
|
'../render/extern/include',
|
|
|
|
'../windowmanager',
|
|
|
|
]
|
|
|
|
incs = ' '.join(incs)
|
2012-01-11 14:14:04 +00:00
|
|
|
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
defs = []
|
|
|
|
|
2012-06-06 10:41:49 +00:00
|
|
|
if env['WITH_BF_SMOKE']:
|
|
|
|
defs.append('WITH_SMOKE')
|
|
|
|
|
2013-01-25 05:02:36 +00:00
|
|
|
if env['WITH_BF_BULLET']:
|
|
|
|
defs.append('WITH_BULLET')
|
2013-02-01 06:24:49 +00:00
|
|
|
incs += ' #/intern/rigidbody'
|
2013-01-25 05:02:36 +00:00
|
|
|
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
if env['WITH_BF_OPENEXR']:
|
2010-08-29 20:52:05 +00:00
|
|
|
defs.append('WITH_OPENEXR')
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
|
2010-05-21 03:25:38 +00:00
|
|
|
if env['WITH_BF_TIFF']:
|
2010-08-29 20:52:05 +00:00
|
|
|
defs.append('WITH_TIFF')
|
2010-05-21 03:25:38 +00:00
|
|
|
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
if env['WITH_BF_OPENJPEG']:
|
2010-08-29 20:52:05 +00:00
|
|
|
defs.append('WITH_OPENJPEG')
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
|
|
|
|
if env['WITH_BF_DDS']:
|
2010-08-29 20:52:05 +00:00
|
|
|
defs.append('WITH_DDS')
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
|
2010-08-03 11:25:34 +00:00
|
|
|
if env['WITH_BF_CINEON']:
|
2010-08-29 20:52:05 +00:00
|
|
|
defs.append('WITH_CINEON')
|
2010-08-03 11:25:34 +00:00
|
|
|
|
|
|
|
if env['WITH_BF_HDR']:
|
2010-08-29 20:52:05 +00:00
|
|
|
defs.append('WITH_HDR')
|
2010-08-03 11:25:34 +00:00
|
|
|
|
2012-04-14 22:19:29 +00:00
|
|
|
if env['WITH_BF_FRAMESERVER']:
|
|
|
|
defs.append('WITH_FRAMESERVER')
|
|
|
|
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
if env['WITH_BF_FFMPEG']:
|
2010-08-29 20:52:05 +00:00
|
|
|
defs.append('WITH_FFMPEG')
|
|
|
|
incs += ' ' + env['BF_FFMPEG_INC']
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
|
|
|
|
if env['WITH_BF_QUICKTIME']:
|
2010-08-29 20:52:05 +00:00
|
|
|
defs.append('WITH_QUICKTIME')
|
|
|
|
incs += ' ../quicktime'
|
2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
better organize things according to the pipeline, and also showing
important properties by default, and collapsing less important ones.
Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
do something when there is a node tree using nodes, or a strip in the
sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
but still using FFMPEG. Unfortunately Ogg is broken at the moment
(also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
it work.
* Organized file format menu by image/movie types.
Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.
Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
|
|
|
|
2.5: Render/Game Engine
An engine to use for output can now be selected an influences what
shows in the buttons window, only showing relevant data. The idea
behind this is to make it more clear what is supported where, make
the system more pluggable for external render/game engines, and save
space hiding stuff that is not relevant anyway.
* Top header now has an engine menu, to choose between the blender
render engine, game engine, and other future external engines.
* If the game engine is enabled, the buttons window should show
only properties that work in the game engine, and similarly for
the render engine.
* Moved panels from the logic space and game tabs to the physics,
scene and world tabs instead, and removed the game tab.
* Materials and textures tabs should eventually become game
specific too, to better show what is supported.
2009-07-23 21:50:40 +00:00
|
|
|
if env['WITH_BF_GAMEENGINE']:
|
2010-10-31 03:20:33 +00:00
|
|
|
defs.append('WITH_GAMEENGINE')
|
2.5: Render/Game Engine
An engine to use for output can now be selected an influences what
shows in the buttons window, only showing relevant data. The idea
behind this is to make it more clear what is supported where, make
the system more pluggable for external render/game engines, and save
space hiding stuff that is not relevant anyway.
* Top header now has an engine menu, to choose between the blender
render engine, game engine, and other future external engines.
* If the game engine is enabled, the buttons window should show
only properties that work in the game engine, and similarly for
the render engine.
* Moved panels from the logic space and game tabs to the physics,
scene and world tabs instead, and removed the game tab.
* Materials and textures tabs should eventually become game
specific too, to better show what is supported.
2009-07-23 21:50:40 +00:00
|
|
|
|
2009-09-06 15:13:57 +00:00
|
|
|
if env['BF_UNIT_TEST']:
|
2010-08-29 20:52:05 +00:00
|
|
|
defs.append('UNIT_TEST')
|
2009-09-06 15:13:57 +00:00
|
|
|
|
2010-10-31 04:11:39 +00:00
|
|
|
if env['WITH_BF_PYTHON']:
|
|
|
|
defs.append('WITH_PYTHON')
|
2010-08-02 16:27:41 +00:00
|
|
|
|
2011-03-27 23:11:22 +00:00
|
|
|
if env['WITH_BF_COLLADA']:
|
|
|
|
defs.append('WITH_COLLADA')
|
|
|
|
|
2011-11-13 12:17:27 +00:00
|
|
|
if env['WITH_BF_OCEANSIM']:
|
|
|
|
defs.append('WITH_OCEANSIM')
|
|
|
|
|
2012-01-09 16:58:01 +00:00
|
|
|
if env['WITH_BF_CYCLES']:
|
|
|
|
defs.append('WITH_CYCLES')
|
|
|
|
|
2013-03-27 08:06:07 +00:00
|
|
|
if env['WITH_BF_SDL']:
|
|
|
|
defs.append('WITH_SDL')
|
|
|
|
|
|
|
|
if env['WITH_BF_OPENAL']:
|
|
|
|
defs.append('WITH_OPENAL')
|
|
|
|
|
|
|
|
if env['WITH_BF_JACK']:
|
|
|
|
defs.append('WITH_JACK')
|
|
|
|
|
2011-08-21 13:31:46 +00:00
|
|
|
if env['OURPLATFORM'] == 'linux':
|
2010-08-29 20:52:05 +00:00
|
|
|
cflags='-pthread'
|
2009-10-01 16:32:33 +00:00
|
|
|
|
2012-04-24 12:57:58 +00:00
|
|
|
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
|
2010-08-29 20:52:05 +00:00
|
|
|
incs += ' ' + env['BF_PTHREADS_INC']
|
2009-10-01 16:32:33 +00:00
|
|
|
|
2011-09-15 13:20:18 +00:00
|
|
|
if env['WITH_BF_INTERNATIONAL']:
|
2011-09-26 10:35:47 +00:00
|
|
|
defs.append('WITH_INTERNATIONAL')
|
2011-09-15 13:20:18 +00:00
|
|
|
|
2011-11-08 20:40:02 +00:00
|
|
|
rnalib = env.BlenderLib ( 'bf_rna', objs, Split(incs), defines=defs, libtype=['core','player'], priority = [165,20] )
|
|
|
|
|
|
|
|
Return ('rnalib')
|