diff options
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | build_files/scons/tools/btools.py | 3 | ||||
-rw-r--r-- | extern/libmv/third_party/ceres/CMakeLists.txt | 4 | ||||
-rw-r--r-- | extern/libmv/third_party/ceres/SConscript | 9 | ||||
-rwxr-xr-x | extern/libmv/third_party/ceres/bundle.sh | 13 |
5 files changed, 21 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2cabeb69e4b..b3918214f8c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -244,6 +244,7 @@ option(WITH_LZMA "Enable best LZMA compression, (used for pointcache)" # Camera/motion tracking option(WITH_LIBMV "Enable libmv structure from motion library" ON) +option(WITH_LIBMV_SCHUR_SPECIALIZATIONS "Enable fixed-size schur specializations." ON) # Freestyle option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON) diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index 5a09e07b3b3..ac3ba9b4f09 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -176,7 +176,7 @@ def validate_arguments(args, bc): 'WITH_BF_OIIO', 'WITH_BF_STATICOIIO', 'BF_OIIO', 'BF_OIIO_INC', 'BF_OIIO_LIB', 'BF_OIIO_LIB_STATIC', 'BF_OIIO_LIBPATH', 'WITH_BF_OCIO', 'WITH_BF_STATICOCIO', 'BF_OCIO', 'BF_OCIO_INC', 'BF_OCIO_LIB', 'BF_OCIO_LIB_STATIC', 'BF_OCIO_LIBPATH', 'WITH_BF_BOOST', 'WITH_BF_STATICBOOST', 'BF_BOOST', 'BF_BOOST_INC', 'BF_BOOST_LIB', 'BF_BOOST_LIB_INTERNATIONAL', 'BF_BOOST_LIB_STATIC', 'BF_BOOST_LIBPATH', - 'WITH_BF_LIBMV', + 'WITH_BF_LIBMV', 'WITH_BF_LIBMV_SCHUR_SPECIALIZATIONS', 'WITH_BF_CYCLES_OSL', 'WITH_BF_STATICOSL', 'BF_OSL', 'BF_OSL_INC', 'BF_OSL_LIB', 'BF_OSL_LIBPATH', 'BF_OSL_LIB_STATIC', 'BF_OSL_COMPILER', 'WITH_BF_LLVM', 'WITH_BF_STATICLLVM', 'BF_LLVM', 'BF_LLVM_LIB', 'BF_LLVM_LIBPATH', 'BF_LLVM_LIB_STATIC', 'BF_PROGRAM_LINKFLAGS' ] @@ -556,6 +556,7 @@ def read_opts(env, cfg, args): (BoolVariable('WITH_BF_LZMA', 'Enable best LZMA pointcache compression', True)), (BoolVariable('WITH_BF_LIBMV', 'Enable libmv structure from motion library', True)), + (BoolVariable('WITH_LIBMV_SCHUR_SPECIALIZATIONS', 'Enable fixed-size schur specializations', True)), (BoolVariable('WITH_BF_COMPOSITOR', 'Enable the tile based nodal compositor', True)), ) # end of opts.AddOptions() diff --git a/extern/libmv/third_party/ceres/CMakeLists.txt b/extern/libmv/third_party/ceres/CMakeLists.txt index a349d3fca26..0ca888f6393 100644 --- a/extern/libmv/third_party/ceres/CMakeLists.txt +++ b/extern/libmv/third_party/ceres/CMakeLists.txt @@ -262,7 +262,7 @@ set(SRC internal/ceres/wall_time.h ) -if(TRUE) +if(WITH_LIBMV_SCHUR_SPECIALIZATIONS) list(APPEND SRC internal/ceres/generated/partitioned_matrix_view_2_2_2.cc internal/ceres/generated/partitioned_matrix_view_2_2_3.cc @@ -301,6 +301,8 @@ if(TRUE) internal/ceres/generated/schur_eliminator_4_4_4.cc internal/ceres/generated/schur_eliminator_4_4_d.cc ) +else() + add_definitions(-DCERES_RESTRICT_SCHUR_SPECIALIZATION) endif() if(WIN32) diff --git a/extern/libmv/third_party/ceres/SConscript b/extern/libmv/third_party/ceres/SConscript index a8a50dbbf7d..44869c88d0b 100644 --- a/extern/libmv/third_party/ceres/SConscript +++ b/extern/libmv/third_party/ceres/SConscript @@ -13,9 +13,12 @@ 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') +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') diff --git a/extern/libmv/third_party/ceres/bundle.sh b/extern/libmv/third_party/ceres/bundle.sh index 89b32416e22..0679840e126 100755 --- a/extern/libmv/third_party/ceres/bundle.sh +++ b/extern/libmv/third_party/ceres/bundle.sh @@ -138,10 +138,12 @@ ${sources} ${headers} ) -if(TRUE) +if(WITH_LIBMV_SCHUR_SPECIALIZATIONS) list(APPEND SRC ${generated_sources} ) +else() + add_definitions-DCERES_RESTRICT_SCHUR_SPECIALIZATION) endif() if(WIN32) @@ -214,9 +216,12 @@ src = [] defs = [] $src -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') +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') |