diff options
Diffstat (limited to 'intern/opensubdiv/SConscript')
-rw-r--r-- | intern/opensubdiv/SConscript | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/intern/opensubdiv/SConscript b/intern/opensubdiv/SConscript new file mode 100644 index 00000000000..58926c6a94a --- /dev/null +++ b/intern/opensubdiv/SConscript @@ -0,0 +1,67 @@ +#!/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) 2013, Blender Foundation +# All rights reserved. +# +# The Original Code is: all of this file. +# +# Contributor(s): Sergey Sharybin. +# +# ***** END GPL LICENSE BLOCK ***** + +import os + +Import('env') + +sources = env.Glob('*.cc') + +defs = [ 'GLEW_STATIC' ] + +if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'): + defs += [ 'NOMINMAX' ] + +incs = '. ../guardedalloc #extern/clew/include/' +incs += ' ' + env['BF_OPENSUBDIV_INC'] +incs += ' #/extern/glew/include' + +def checkOpenSubdivHeaderDefine(header, define): + include_path = Dir(env.subst(env['BF_OPENSUBDIV_INC'])).abspath + header_path = os.path.join(include_path, 'opensubdiv', 'osd', header) + if os.path.exists(header_path): + defs.append(define) + return True + return False + +checkOpenSubdivHeaderDefine("tbbComputeController.h", 'OPENSUBDIV_HAS_TBB') +checkOpenSubdivHeaderDefine("gcdComputeController.h", 'OPENSUBDIV_HAS_GCD') +if checkOpenSubdivHeaderDefine("clComputeController.h", 'OPENSUBDIV_HAS_OPENCL'): + defs += ['OPENSUBDIV_HAS_CLEW'] + incs += ' #/extern/clew/include' +if checkOpenSubdivHeaderDefine("cudaComputeController.h", 'OPENSUBDIV_HAS_CUDA'): + defs += ['OPENSUBDIV_HAS_CUEW'] + incs += ' #/extern/cuew/include' +checkOpenSubdivHeaderDefine("glslTransformFeedbackComputeController.h", 'OPENSUBDIV_HAS_GLSL_TRANSFORM_FEEDBACK') +checkOpenSubdivHeaderDefine("osd/glslComputeController.h", 'OPENSUBDIV_HAS_GLSL_COMPUTE') + +# generated data files +sources.extend(( + os.path.join(env['DATA_SOURCES'], "gpu_shader_opensubd_display.glsl.c"), +)) + +env.BlenderLib('bf_intern_opensubdiv', sources, Split(incs), defs, libtype=['extern','player'], priority=[10, 185]) |