# ***** 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) 2011, Blender Foundation # All rights reserved. # # Contributor(s): Blender Foundation, # Sergey Sharybin # # ***** 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 . ) set(INC_SYS ) set(SRC libmv-capi.h ) if(WITH_LIBMV OR WITH_GTESTS OR (WITH_CYCLES AND WITH_CYCLES_LOGGING)) list(APPEND INC third_party/gflags third_party/gflags/gflags third_party/glog/src third_party/ceres/include third_party/ceres/config ../../intern/guardedalloc ) list(APPEND INC_SYS ../Eigen3 ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ) if(WIN32) list(APPEND INC third_party/glog/src/windows ) if(NOT MINGW) list(APPEND INC third_party/msinttypes ) endif() endif() add_definitions( -DWITH_LIBMV_GUARDED_ALLOC -DGOOGLE_GLOG_DLL_DECL= -DLIBMV_NO_FAST_DETECTOR= ) endif() if(WITH_LIBMV) TEST_SHARED_PTR_SUPPORT() if(SHARED_PTR_FOUND) if(SHARED_PTR_TR1_MEMORY_HEADER) add_definitions(-DCERES_TR1_MEMORY_HEADER) endif() if(SHARED_PTR_TR1_NAMESPACE) add_definitions(-DCERES_TR1_SHARED_PTR) endif() else() message(FATAL_ERROR "Unable to find shared_ptr.") endif() list(APPEND SRC intern/autotrack.cc intern/camera_intrinsics.cc intern/detector.cc intern/frame_accessor.cc intern/homography.cc intern/image.cc intern/logging.cc intern/reconstruction.cc intern/track_region.cc intern/tracks.cc intern/tracksN.cc libmv/autotrack/autotrack.cc libmv/autotrack/predict_tracks.cc libmv/autotrack/tracks.cc libmv/base/aligned_malloc.cc libmv/image/array_nd.cc libmv/image/convolve.cc libmv/multiview/conditioning.cc libmv/multiview/euclidean_resection.cc libmv/multiview/fundamental.cc libmv/multiview/homography.cc libmv/multiview/panography.cc libmv/multiview/panography_kernel.cc libmv/multiview/projection.cc libmv/multiview/triangulation.cc libmv/numeric/numeric.cc libmv/numeric/poly.cc libmv/simple_pipeline/bundle.cc libmv/simple_pipeline/camera_intrinsics.cc libmv/simple_pipeline/detect.cc libmv/simple_pipeline/distortion_models.cc libmv/simple_pipeline/initialize_reconstruction.cc libmv/simple_pipeline/intersect.cc libmv/simple_pipeline/keyframe_selection.cc libmv/simple_pipeline/modal_solver.cc libmv/simple_pipeline/pipeline.cc libmv/simple_pipeline/reconstruction.cc libmv/simple_pipeline/reconstruction_scale.cc libmv/simple_pipeline/resect.cc libmv/simple_pipeline/tracks.cc libmv/tracking/brute_region_tracker.cc libmv/tracking/hybrid_region_tracker.cc libmv/tracking/klt_region_tracker.cc libmv/tracking/pyramid_region_tracker.cc libmv/tracking/retrack_region_tracker.cc libmv/tracking/track_region.cc libmv/tracking/trklt_region_tracker.cc intern/autotrack.h intern/camera_intrinsics.h intern/detector.h intern/frame_accessor.h intern/homography.h intern/image.h intern/logging.h intern/reconstruction.h intern/track_region.h intern/tracks.h intern/tracksN.h libmv/autotrack/autotrack.h libmv/autotrack/callbacks.h libmv/autotrack/frame_accessor.h libmv/autotrack/marker.h libmv/autotrack/model.h libmv/autotrack/predict_tracks.h libmv/autotrack/quad.h libmv/autotrack/reconstruction.h libmv/autotrack/region.h libmv/autotrack/tracks.h libmv/base/aligned_malloc.h libmv/base/id_generator.h libmv/base/scoped_ptr.h libmv/base/vector.h libmv/base/vector_utils.h libmv/image/array_nd.h libmv/image/convolve.h libmv/image/correlation.h libmv/image/image_converter.h libmv/image/image_drawing.h libmv/image/image.h libmv/image/sample.h libmv/image/tuple.h libmv/logging/logging.h libmv/multiview/conditioning.h libmv/multiview/euclidean_resection.h libmv/multiview/fundamental.h libmv/multiview/homography_error.h libmv/multiview/homography.h libmv/multiview/homography_parameterization.h libmv/multiview/nviewtriangulation.h libmv/multiview/panography.h libmv/multiview/panography_kernel.h libmv/multiview/projection.h libmv/multiview/resection.h libmv/multiview/triangulation.h libmv/multiview/two_view_kernel.h libmv/numeric/dogleg.h libmv/numeric/function_derivative.h libmv/numeric/levenberg_marquardt.h libmv/numeric/numeric.h libmv/numeric/poly.h libmv/simple_pipeline/bundle.h libmv/simple_pipeline/callbacks.h libmv/simple_pipeline/camera_intrinsics.h libmv/simple_pipeline/camera_intrinsics_impl.h libmv/simple_pipeline/detect.h libmv/simple_pipeline/distortion_models.h libmv/simple_pipeline/initialize_reconstruction.h libmv/simple_pipeline/intersect.h libmv/simple_pipeline/keyframe_selection.h libmv/simple_pipeline/modal_solver.h libmv/simple_pipeline/pipeline.h libmv/simple_pipeline/reconstruction.h libmv/simple_pipeline/reconstruction_scale.h libmv/simple_pipeline/resect.h libmv/simple_pipeline/tracks.h libmv/tracking/brute_region_tracker.h libmv/tracking/hybrid_region_tracker.h libmv/tracking/kalman_filter.h libmv/tracking/klt_region_tracker.h libmv/tracking/pyramid_region_tracker.h libmv/tracking/region_tracker.h libmv/tracking/retrack_region_tracker.h libmv/tracking/track_region.h libmv/tracking/trklt_region_tracker.h third_party/msinttypes/inttypes.h third_party/msinttypes/stdint.h ) if(WITH_GTESTS) blender_add_lib(libmv_test_dataset "./libmv/multiview/test_data_sets.cc" "" "") BLENDER_SRC_GTEST("libmv_predict_tracks" "./libmv/autotrack/predict_tracks_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_tracks" "./libmv/autotrack/tracks_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_scoped_ptr" "./libmv/base/scoped_ptr_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_vector" "./libmv/base/vector_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_array_nd" "./libmv/image/array_nd_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_convolve" "./libmv/image/convolve_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_image" "./libmv/image/image_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_sample" "./libmv/image/sample_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_tuple" "./libmv/image/tuple_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_euclidean_resection" "./libmv/multiview/euclidean_resection_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_fundamental" "./libmv/multiview/fundamental_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_homography" "./libmv/multiview/homography_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_nviewtriangulation" "./libmv/multiview/nviewtriangulation_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_panography" "./libmv/multiview/panography_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_projection" "./libmv/multiview/projection_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_resection" "./libmv/multiview/resection_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_triangulation" "./libmv/multiview/triangulation_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_dogleg" "./libmv/numeric/dogleg_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_function_derivative" "./libmv/numeric/function_derivative_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_levenberg_marquardt" "./libmv/numeric/levenberg_marquardt_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_numeric" "./libmv/numeric/numeric_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_poly" "./libmv/numeric/poly_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_camera_intrinsics" "./libmv/simple_pipeline/camera_intrinsics_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_detect" "./libmv/simple_pipeline/detect_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_intersect" "./libmv/simple_pipeline/intersect_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_keyframe_selection" "./libmv/simple_pipeline/keyframe_selection_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_modal_solver" "./libmv/simple_pipeline/modal_solver_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_resect" "./libmv/simple_pipeline/resect_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_brute_region_tracker" "./libmv/tracking/brute_region_tracker_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_klt_region_tracker" "./libmv/tracking/klt_region_tracker_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") BLENDER_SRC_GTEST("libmv_pyramid_region_tracker" "./libmv/tracking/pyramid_region_tracker_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres") endif() else() list(APPEND SRC intern/stub.cc ) endif() blender_add_lib(extern_libmv "${SRC}" "${INC}" "${INC_SYS}") if(WITH_LIBMV) add_subdirectory(third_party) endif() # make GLog a separate target, so it can be used for gtest as well. if(WITH_LIBMV OR WITH_GTESTS OR (WITH_CYCLES AND WITH_CYCLES_LOGGING)) # We compile GLog together with GFlag so we don't worry about # adding extra lib to linker. set(GLOG_SRC third_party/gflags/gflags.cc third_party/gflags/gflags_completions.cc third_party/gflags/gflags_reporting.cc third_party/gflags/config.h third_party/gflags/gflags/gflags_completions.h third_party/gflags/gflags/gflags_declare.h third_party/gflags/gflags/gflags.h third_party/gflags/mutex.h third_party/gflags/util.h ) if(WIN32) list(APPEND GLOG_SRC third_party/glog/src/logging.cc third_party/glog/src/raw_logging.cc third_party/glog/src/utilities.cc third_party/glog/src/vlog_is_on.cc third_party/glog/src/windows/port.cc third_party/glog/src/utilities.h third_party/glog/src/stacktrace_generic-inl.h third_party/glog/src/stacktrace.h third_party/glog/src/stacktrace_x86_64-inl.h third_party/glog/src/base/googleinit.h third_party/glog/src/base/mutex.h third_party/glog/src/base/commandlineflags.h third_party/glog/src/stacktrace_powerpc-inl.h third_party/glog/src/stacktrace_x86-inl.h third_party/glog/src/config.h third_party/glog/src/stacktrace_libunwind-inl.h third_party/glog/src/windows/glog/raw_logging.h third_party/glog/src/windows/glog/vlog_is_on.h third_party/glog/src/windows/glog/logging.h third_party/glog/src/windows/glog/log_severity.h third_party/glog/src/windows/port.h third_party/glog/src/windows/config.h third_party/gflags/windows_port.cc third_party/gflags/windows_port.h ) else() list(APPEND GLOG_SRC third_party/glog/src/demangle.cc third_party/glog/src/logging.cc third_party/glog/src/raw_logging.cc third_party/glog/src/signalhandler.cc third_party/glog/src/symbolize.cc third_party/glog/src/utilities.cc third_party/glog/src/vlog_is_on.cc third_party/glog/src/base/commandlineflags.h third_party/glog/src/base/googleinit.h third_party/glog/src/base/mutex.h third_party/glog/src/config_freebsd.h third_party/glog/src/config.h third_party/glog/src/config_hurd.h third_party/glog/src/config_linux.h third_party/glog/src/config_mac.h third_party/glog/src/demangle.h third_party/glog/src/glog/logging.h third_party/glog/src/glog/log_severity.h third_party/glog/src/glog/raw_logging.h third_party/glog/src/glog/vlog_is_on.h third_party/glog/src/stacktrace_generic-inl.h third_party/glog/src/stacktrace.h third_party/glog/src/stacktrace_libunwind-inl.h third_party/glog/src/stacktrace_powerpc-inl.h third_party/glog/src/stacktrace_x86_64-inl.h third_party/glog/src/stacktrace_x86-inl.h third_party/glog/src/symbolize.h third_party/glog/src/utilities.h ) endif() blender_add_lib(extern_glog "${GLOG_SRC}" "${INC}" "${INC_SYS}") endif()