#!/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') 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') src += env.Glob('internal/ceres/generated/*.cc') 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])