Libmv: Add an option to disable schur specializations build-time
This way folks with few ram or those who wants to hack into Ceres code might compile Blender much faster.
This commit is contained in:
parent
5ab4c6b7aa
commit
178f8400ee
@ -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)
|
||||
|
@ -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()
|
||||
|
@ -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)
|
||||
|
9
extern/libmv/third_party/ceres/SConscript
vendored
9
extern/libmv/third_party/ceres/SConscript
vendored
@ -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')
|
||||
|
13
extern/libmv/third_party/ceres/bundle.sh
vendored
13
extern/libmv/third_party/ceres/bundle.sh
vendored
@ -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')
|
||||
|
Loading…
Reference in New Issue
Block a user