diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-06-14 17:33:37 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-06-14 17:33:37 +0400 |
commit | 554107b6a1c4a89288e77fbf3e0d11c4ec777bfe (patch) | |
tree | c47aefbe67e9ea7e24b64af735b6402a5c31c9b8 /extern/libmv/third_party/ceres/bundle.sh | |
parent | 1f19bacf8ee39b779b4e2940bed758ade1191ee2 (diff) |
Disable fixed-sized specializations for schur solver
As far as i remember Keir, this should be safe for our usages of ceres
and it should save noticeable amount of time and used memory when
compiling blender with libmv support.
Quick tests with tracking went smooth after this.
Diffstat (limited to 'extern/libmv/third_party/ceres/bundle.sh')
-rwxr-xr-x | extern/libmv/third_party/ceres/bundle.sh | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/extern/libmv/third_party/ceres/bundle.sh b/extern/libmv/third_party/ceres/bundle.sh index f54342180db..99aaadd8d87 100755 --- a/extern/libmv/third_party/ceres/bundle.sh +++ b/extern/libmv/third_party/ceres/bundle.sh @@ -1,5 +1,6 @@ #!/bin/sh +if false; then if [ "x$1" = "x--i-really-know-what-im-doing" ] ; then echo Proceeding as requested by command line ... else @@ -36,7 +37,10 @@ done rm -rf $tmp -sources=`find ./include ./internal -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | sed -r 's/^\.\//\t/' | sort -d` +fi + +sources=`find ./include ./internal -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | sed -r 's/^\.\//\t/' | grep -v -E 'schur_eliminator_[0-9]_[0-9]_[0-9d].cc' | sort -d` +generated_sources=`find ./include ./internal -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | sed -r 's/^\.\//#\t\t/' | grep -E 'schur_eliminator_[0-9]_[0-9]_[0-9d].cc' | sort -d` headers=`find ./include ./internal -type f -iname '*.h' | sed -r 's/^\.\//\t/' | sort -d` src_dir=`find ./internal -type f -iname '*.cc' -exec dirname {} \; -or -iname '*.cpp' -exec dirname {} \; -or -iname '*.c' -exec dirname {} \; | sed -r 's/^\.\//\t/' | sort -d | uniq` @@ -48,6 +52,10 @@ for x in $src_dir $src_third_dir; do continue; fi + if test `echo "$x" | grep -c generated` -eq 1; then + continue; + fi + if stat $x/*.cpp > /dev/null 2>&1; then t="src += env.Glob('`echo $x'/*.cpp'`')" fi @@ -121,6 +129,12 @@ ${sources} ${headers} ) +#if(FALSE) +# list(APPEND SRC +${generated_sources} +# ) +#endif() + if(WIN32) list(APPEND INC ../glog/src/windows @@ -143,6 +157,7 @@ add_definitions( -D"CERES_HASH_NAMESPACE_END=}}" -DCERES_NO_SUITESPARSE -DCERES_DONT_HAVE_PROTOCOL_BUFFERS + -DCERES_RESTRICT_SCHUR_SPECIALIZATION ) blender_add_lib(extern_ceres "\${SRC}" "\${INC}" "\${INC_SYS}") @@ -164,12 +179,15 @@ src = [] defs = [] $src +src += env.Glob('internal/ceres/generated/schur_eliminator_d_d_d.cc') +#src += env.Glob('internal/ceres/generated/*.cc') defs.append('CERES_HAVE_PTHREAD') defs.append('CERES_HASH_NAMESPACE_START=namespace std { namespace tr1 {') defs.append('CERES_HASH_NAMESPACE_END=}}') defs.append('CERES_NO_SUITESPARSE') defs.append('CERES_DONT_HAVE_PROTOCOL_BUFFERS') +defs.append('CERES_RESTRICT_SCHUR_SPECIALIZATION') incs = '. ../../ ../../../Eigen3 ./include ./internal ../gflags' |