forked from bartvdbraak/blender
178f8400ee
This way folks with few ram or those who wants to hack into Ceres code might compile Blender much faster.
69 lines
2.3 KiB
Python
69 lines
2.3 KiB
Python
#!/usr/bin/python
|
|
|
|
# NOTE: This file is automatically generated by bundle.sh script
|
|
# If you're doing changes in this file, please update template
|
|
# in that script too
|
|
|
|
import sys
|
|
import os
|
|
|
|
Import('env')
|
|
|
|
src = []
|
|
defs = []
|
|
|
|
src += env.Glob('internal/ceres/*.cc')
|
|
if env['WITH_BF_LIBMV_SCHUR_SPECIALIZATIONS']:
|
|
src += env.Glob('internal/ceres/generated/*.cc')
|
|
else:
|
|
src += env.Glob('internal/ceres/generated/schur_eliminator_d_d_d.cc')
|
|
src += env.Glob('internal/ceres/generated/partitioned_matrix_view_d_d_d.cc')
|
|
defs.append('CERES_RESTRICT_SCHUR_SPECIALIZATION')
|
|
|
|
defs.append('CERES_HAVE_PTHREAD')
|
|
defs.append('CERES_NO_SUITESPARSE')
|
|
defs.append('CERES_NO_CXSPARSE')
|
|
defs.append('CERES_NO_LAPACK')
|
|
defs.append('CERES_HAVE_RWLOCK')
|
|
|
|
if env['WITH_BF_OPENMP']:
|
|
defs.append('CERES_USE_OPENMP')
|
|
|
|
if env['WITH_UNORDERED_MAP_SUPPORT']:
|
|
if env['UNORDERED_MAP_HEADER'] == 'unordered_map':
|
|
if env['UNORDERED_MAP_NAMESPACE'] == 'std':
|
|
defs.append('CERES_STD_UNORDERED_MAP')
|
|
elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1':
|
|
defs.append('CERES_STD_UNORDERED_MAP_IN_TR1_NAMESPACE')
|
|
elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1':
|
|
defs.append('CERES_TR1_UNORDERED_MAP')
|
|
else:
|
|
print("-- Replacing unordered_map/set with map/set (warning: slower!)")
|
|
defs.append('CERES_NO_UNORDERED_MAP')
|
|
|
|
if not env['WITH_SHARED_PTR_SUPPORT']:
|
|
print("-- Unable to find shared_ptr which is required for compilation.")
|
|
exit(1)
|
|
|
|
if env['SHARED_PTR_HEADER'] == 'tr1/memory':
|
|
defs.append('CERES_TR1_MEMORY_HEADER')
|
|
if env['SHARED_PTR_NAMESPACE'] == 'std::tr1':
|
|
defs.append('CERES_TR1_SHARED_PTR')
|
|
|
|
incs = '. ../../ ../../../Eigen3 ./include ./internal ../gflags ./config'
|
|
|
|
# work around broken hashtable in 10.5 SDK
|
|
if env['OURPLATFORM'] == 'darwin' and env['WITH_BF_BOOST']:
|
|
incs += ' ' + env['BF_BOOST_INC']
|
|
defs.append('CERES_HASH_BOOST')
|
|
|
|
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
|
|
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
|
|
incs += ' ../msinttypes'
|
|
|
|
incs += ' ../glog/src/windows'
|
|
else:
|
|
incs += ' ../glog/src'
|
|
|
|
env.BlenderLib ( libname = 'extern_ceres', sources=src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137])
|