# ***** BEGIN GPL LICENSE BLOCK ***** # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # The Original Code is Copyright (C) 2012, Blender Foundation # All rights reserved. # ***** END GPL LICENSE BLOCK ***** # 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 set(INC . include internal config ../gflags/src ) set(INC_SYS ${EIGEN3_INCLUDE_DIRS} ${GFLAGS_INCLUDE_DIRS} ${GLOG_INCLUDE_DIRS} ) set(SRC internal/ceres/accelerate_sparse.cc internal/ceres/array_utils.cc internal/ceres/blas.cc internal/ceres/block_evaluate_preparer.cc internal/ceres/block_jacobian_writer.cc internal/ceres/block_jacobi_preconditioner.cc internal/ceres/block_random_access_dense_matrix.cc internal/ceres/block_random_access_diagonal_matrix.cc internal/ceres/block_random_access_matrix.cc internal/ceres/block_random_access_sparse_matrix.cc internal/ceres/block_sparse_matrix.cc internal/ceres/block_structure.cc internal/ceres/callbacks.cc internal/ceres/canonical_views_clustering.cc internal/ceres/c_api.cc internal/ceres/cgnr_solver.cc internal/ceres/compressed_col_sparse_matrix_utils.cc internal/ceres/compressed_row_jacobian_writer.cc internal/ceres/compressed_row_sparse_matrix.cc internal/ceres/conditioned_cost_function.cc internal/ceres/conjugate_gradients_solver.cc internal/ceres/context.cc internal/ceres/context_impl.cc internal/ceres/coordinate_descent_minimizer.cc internal/ceres/corrector.cc internal/ceres/covariance.cc internal/ceres/covariance_impl.cc internal/ceres/cxsparse.cc internal/ceres/dense_normal_cholesky_solver.cc internal/ceres/dense_qr_solver.cc internal/ceres/dense_sparse_matrix.cc internal/ceres/detect_structure.cc internal/ceres/dogleg_strategy.cc internal/ceres/dynamic_compressed_row_jacobian_writer.cc internal/ceres/dynamic_compressed_row_sparse_matrix.cc internal/ceres/dynamic_sparse_normal_cholesky_solver.cc internal/ceres/eigensparse.cc internal/ceres/evaluator.cc internal/ceres/file.cc internal/ceres/float_cxsparse.cc internal/ceres/float_suitesparse.cc internal/ceres/function_sample.cc internal/ceres/generated/partitioned_matrix_view_d_d_d.cc internal/ceres/generated/schur_eliminator_d_d_d.cc internal/ceres/gradient_checker.cc internal/ceres/gradient_checking_cost_function.cc internal/ceres/gradient_problem.cc internal/ceres/gradient_problem_solver.cc internal/ceres/implicit_schur_complement.cc internal/ceres/inner_product_computer.cc internal/ceres/is_close.cc internal/ceres/iterative_refiner.cc internal/ceres/iterative_schur_complement_solver.cc internal/ceres/lapack.cc internal/ceres/levenberg_marquardt_strategy.cc internal/ceres/linear_least_squares_problems.cc internal/ceres/linear_operator.cc internal/ceres/linear_solver.cc internal/ceres/line_search.cc internal/ceres/line_search_direction.cc internal/ceres/line_search_minimizer.cc internal/ceres/line_search_preprocessor.cc internal/ceres/local_parameterization.cc internal/ceres/loss_function.cc internal/ceres/low_rank_inverse_hessian.cc internal/ceres/minimizer.cc internal/ceres/normal_prior.cc internal/ceres/parallel_for_cxx.cc internal/ceres/parallel_for_nothreads.cc internal/ceres/parallel_for_openmp.cc internal/ceres/parallel_utils.cc internal/ceres/parameter_block_ordering.cc internal/ceres/partitioned_matrix_view.cc internal/ceres/polynomial.cc internal/ceres/preconditioner.cc internal/ceres/preprocessor.cc internal/ceres/problem.cc internal/ceres/problem_impl.cc internal/ceres/program.cc internal/ceres/reorder_program.cc internal/ceres/residual_block.cc internal/ceres/residual_block_utils.cc internal/ceres/schur_complement_solver.cc internal/ceres/schur_eliminator.cc internal/ceres/schur_jacobi_preconditioner.cc internal/ceres/schur_templates.cc internal/ceres/scratch_evaluate_preparer.cc internal/ceres/single_linkage_clustering.cc internal/ceres/solver.cc internal/ceres/solver_utils.cc internal/ceres/sparse_cholesky.cc internal/ceres/sparse_matrix.cc internal/ceres/sparse_normal_cholesky_solver.cc internal/ceres/split.cc internal/ceres/stringprintf.cc internal/ceres/subset_preconditioner.cc internal/ceres/suitesparse.cc internal/ceres/thread_pool.cc internal/ceres/thread_token_provider.cc internal/ceres/triplet_sparse_matrix.cc internal/ceres/trust_region_minimizer.cc internal/ceres/trust_region_preprocessor.cc internal/ceres/trust_region_step_evaluator.cc internal/ceres/trust_region_strategy.cc internal/ceres/types.cc internal/ceres/visibility_based_preconditioner.cc internal/ceres/visibility.cc internal/ceres/wall_time.cc include/ceres/autodiff_cost_function.h include/ceres/autodiff_first_order_function.h include/ceres/autodiff_local_parameterization.h include/ceres/c_api.h include/ceres/ceres.h include/ceres/conditioned_cost_function.h include/ceres/context.h include/ceres/cost_function.h include/ceres/cost_function_to_functor.h include/ceres/covariance.h include/ceres/crs_matrix.h include/ceres/cubic_interpolation.h include/ceres/dynamic_autodiff_cost_function.h include/ceres/dynamic_cost_function.h include/ceres/dynamic_cost_function_to_functor.h include/ceres/dynamic_numeric_diff_cost_function.h include/ceres/evaluation_callback.h include/ceres/first_order_function.h include/ceres/gradient_checker.h include/ceres/gradient_problem.h include/ceres/gradient_problem_solver.h include/ceres/internal/array_selector.h include/ceres/internal/autodiff.h include/ceres/internal/disable_warnings.h include/ceres/internal/eigen.h include/ceres/internal/fixed_array.h include/ceres/internal/householder_vector.h include/ceres/internal/integer_sequence_algorithm.h include/ceres/internal/line_parameterization.h include/ceres/internal/memory.h include/ceres/internal/numeric_diff.h include/ceres/internal/parameter_dims.h include/ceres/internal/port.h include/ceres/internal/reenable_warnings.h include/ceres/internal/variadic_evaluate.h include/ceres/iteration_callback.h include/ceres/jet.h include/ceres/local_parameterization.h include/ceres/loss_function.h include/ceres/normal_prior.h include/ceres/numeric_diff_cost_function.h include/ceres/numeric_diff_options.h include/ceres/ordered_groups.h include/ceres/problem.h include/ceres/rotation.h include/ceres/sized_cost_function.h include/ceres/solver.h include/ceres/tiny_solver_autodiff_function.h include/ceres/tiny_solver_cost_function_adapter.h include/ceres/tiny_solver.h include/ceres/types.h include/ceres/version.h internal/ceres/accelerate_sparse.h internal/ceres/array_utils.h internal/ceres/blas.h internal/ceres/block_evaluate_preparer.h internal/ceres/block_jacobian_writer.h internal/ceres/block_jacobi_preconditioner.h internal/ceres/block_random_access_dense_matrix.h internal/ceres/block_random_access_diagonal_matrix.h internal/ceres/block_random_access_matrix.h internal/ceres/block_random_access_sparse_matrix.h internal/ceres/block_sparse_matrix.h internal/ceres/block_structure.h internal/ceres/callbacks.h internal/ceres/canonical_views_clustering.h internal/ceres/casts.h internal/ceres/cgnr_linear_operator.h internal/ceres/cgnr_solver.h internal/ceres/compressed_col_sparse_matrix_utils.h internal/ceres/compressed_row_jacobian_writer.h internal/ceres/compressed_row_sparse_matrix.h internal/ceres/concurrent_queue.h internal/ceres/conjugate_gradients_solver.h internal/ceres/context_impl.h internal/ceres/coordinate_descent_minimizer.h internal/ceres/corrector.h internal/ceres/covariance_impl.h internal/ceres/cxsparse.h internal/ceres/dense_jacobian_writer.h internal/ceres/dense_normal_cholesky_solver.h internal/ceres/dense_qr_solver.h internal/ceres/dense_sparse_matrix.h internal/ceres/detect_structure.h internal/ceres/dogleg_strategy.h internal/ceres/dynamic_compressed_row_finalizer.h internal/ceres/dynamic_compressed_row_jacobian_writer.h internal/ceres/dynamic_compressed_row_sparse_matrix.h internal/ceres/dynamic_sparse_normal_cholesky_solver.h internal/ceres/eigensparse.h internal/ceres/evaluator.h internal/ceres/execution_summary.h internal/ceres/file.h internal/ceres/float_cxsparse.h internal/ceres/float_suitesparse.h internal/ceres/function_sample.h internal/ceres/gradient_checking_cost_function.h internal/ceres/gradient_problem_evaluator.h internal/ceres/graph_algorithms.h internal/ceres/graph.h internal/ceres/implicit_schur_complement.h internal/ceres/inner_product_computer.h internal/ceres/invert_psd_matrix.h internal/ceres/is_close.h internal/ceres/iterative_refiner.h internal/ceres/iterative_schur_complement_solver.h internal/ceres/lapack.h internal/ceres/levenberg_marquardt_strategy.h internal/ceres/linear_least_squares_problems.h internal/ceres/linear_operator.h internal/ceres/linear_solver.h internal/ceres/line_search_direction.h internal/ceres/line_search.h internal/ceres/line_search_minimizer.h internal/ceres/line_search_preprocessor.h internal/ceres/low_rank_inverse_hessian.h internal/ceres/map_util.h internal/ceres/minimizer.h internal/ceres/pair_hash.h internal/ceres/parallel_for.h internal/ceres/parallel_utils.h internal/ceres/parameter_block.h internal/ceres/parameter_block_ordering.h internal/ceres/partitioned_matrix_view.h internal/ceres/partitioned_matrix_view_impl.h internal/ceres/polynomial.h internal/ceres/preconditioner.h internal/ceres/preprocessor.h internal/ceres/problem_impl.h internal/ceres/program_evaluator.h internal/ceres/program.h internal/ceres/random.h internal/ceres/reorder_program.h internal/ceres/residual_block.h internal/ceres/residual_block_utils.h internal/ceres/schur_complement_solver.h internal/ceres/schur_eliminator.h internal/ceres/schur_eliminator_impl.h internal/ceres/schur_jacobi_preconditioner.h internal/ceres/schur_templates.h internal/ceres/scoped_thread_token.h internal/ceres/scratch_evaluate_preparer.h internal/ceres/single_linkage_clustering.h internal/ceres/small_blas_generic.h internal/ceres/small_blas.h internal/ceres/solver_utils.h internal/ceres/sparse_cholesky.h internal/ceres/sparse_matrix.h internal/ceres/sparse_normal_cholesky_solver.h internal/ceres/split.h internal/ceres/stl_util.h internal/ceres/stringprintf.h internal/ceres/subset_preconditioner.h internal/ceres/suitesparse.h internal/ceres/thread_pool.h internal/ceres/thread_token_provider.h internal/ceres/triplet_sparse_matrix.h internal/ceres/trust_region_minimizer.h internal/ceres/trust_region_preprocessor.h internal/ceres/trust_region_step_evaluator.h internal/ceres/trust_region_strategy.h internal/ceres/visibility_based_preconditioner.h internal/ceres/visibility.h internal/ceres/wall_time.h ) set(LIB ${GLOG_LIBRARIES} ${GFLAGS_LIBRARIES} ) 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 internal/ceres/generated/partitioned_matrix_view_2_2_4.cc internal/ceres/generated/partitioned_matrix_view_2_2_d.cc internal/ceres/generated/partitioned_matrix_view_2_3_3.cc internal/ceres/generated/partitioned_matrix_view_2_3_4.cc internal/ceres/generated/partitioned_matrix_view_2_3_6.cc internal/ceres/generated/partitioned_matrix_view_2_3_9.cc internal/ceres/generated/partitioned_matrix_view_2_3_d.cc internal/ceres/generated/partitioned_matrix_view_2_4_3.cc internal/ceres/generated/partitioned_matrix_view_2_4_4.cc internal/ceres/generated/partitioned_matrix_view_2_4_6.cc internal/ceres/generated/partitioned_matrix_view_2_4_8.cc internal/ceres/generated/partitioned_matrix_view_2_4_9.cc internal/ceres/generated/partitioned_matrix_view_2_4_d.cc internal/ceres/generated/partitioned_matrix_view_2_d_d.cc internal/ceres/generated/partitioned_matrix_view_3_3_3.cc internal/ceres/generated/partitioned_matrix_view_4_4_2.cc internal/ceres/generated/partitioned_matrix_view_4_4_3.cc internal/ceres/generated/partitioned_matrix_view_4_4_4.cc internal/ceres/generated/partitioned_matrix_view_4_4_d.cc internal/ceres/generated/schur_eliminator_2_2_2.cc internal/ceres/generated/schur_eliminator_2_2_3.cc internal/ceres/generated/schur_eliminator_2_2_4.cc internal/ceres/generated/schur_eliminator_2_2_d.cc internal/ceres/generated/schur_eliminator_2_3_3.cc internal/ceres/generated/schur_eliminator_2_3_4.cc internal/ceres/generated/schur_eliminator_2_3_6.cc internal/ceres/generated/schur_eliminator_2_3_9.cc internal/ceres/generated/schur_eliminator_2_3_d.cc internal/ceres/generated/schur_eliminator_2_4_3.cc internal/ceres/generated/schur_eliminator_2_4_4.cc internal/ceres/generated/schur_eliminator_2_4_6.cc internal/ceres/generated/schur_eliminator_2_4_8.cc internal/ceres/generated/schur_eliminator_2_4_9.cc internal/ceres/generated/schur_eliminator_2_4_d.cc internal/ceres/generated/schur_eliminator_2_d_d.cc internal/ceres/generated/schur_eliminator_3_3_3.cc internal/ceres/generated/schur_eliminator_4_4_2.cc internal/ceres/generated/schur_eliminator_4_4_3.cc 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() add_definitions(${GFLAGS_DEFINES}) add_definitions(${GLOG_DEFINES}) add_definitions(${CERES_DEFINES}) add_definitions( -DCERES_HAVE_PTHREAD -DCERES_NO_SUITESPARSE -DCERES_NO_CXSPARSE -DCERES_NO_LAPACK -DCERES_NO_ACCELERATE_SPARSE -DCERES_HAVE_RWLOCK -DCERES_USE_CXX_THREADS ) blender_add_lib(extern_ceres "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")