Merge branch 'blender-v4.4-release'
[blender.git] / intern / libmv / CMakeLists.txt
blob965d0028020af48bb7b841fce144905533687e10
1 # SPDX-FileCopyrightText: 2011 Blender Authors
3 # SPDX-License-Identifier: GPL-2.0-or-later
5 # NOTE: This file is automatically generated by bundle.sh script
6 #       If you're doing changes in this file, please update template
7 #       in that script too
9 set(INC
10   .
13 set(INC_SYS
16 set(SRC
17   libmv-capi.h
20 set(LIB
24 if(WITH_LIBMV)
25   if(WIN32)
26     add_definitions(-D_USE_MATH_DEFINES)
27   endif()
28   add_definitions(${GFLAGS_DEFINES})
29   add_definitions(${GLOG_DEFINES})
30   add_definitions(-DLIBMV_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE})
32   list(APPEND INC
33     ${GFLAGS_INCLUDE_DIRS}
34     ${GLOG_INCLUDE_DIRS}
35     ../guardedalloc
36   )
38   list(APPEND INC_SYS
39     ${EIGEN3_INCLUDE_DIRS}
40     ${PNG_INCLUDE_DIRS}
41     ${ZLIB_INCLUDE_DIRS}
42     ../../extern/ceres/include
43     ../../extern/ceres/config
44   )
46   list(APPEND LIB
47     extern_ceres
49     ${GLOG_LIBRARIES}
50     ${GFLAGS_LIBRARIES}
51     ${PNG_LIBRARIES}
52   )
54   add_definitions(
55     -DWITH_LIBMV_GUARDED_ALLOC
56     -DLIBMV_NO_FAST_DETECTOR=
57   )
59   list(APPEND SRC
60     intern/autotrack.cc
61     intern/camera_intrinsics.cc
62     intern/detector.cc
63     intern/frame_accessor.cc
64     intern/homography.cc
65     intern/image.cc
66     intern/logging.cc
67     intern/reconstruction.cc
68     intern/track_region.cc
69     intern/tracks.cc
70     intern/tracksN.cc
71     libmv/autotrack/autotrack.cc
72     libmv/autotrack/predict_tracks.cc
73     libmv/autotrack/tracks.cc
74     libmv/base/aligned_malloc.cc
75     libmv/image/array_nd.cc
76     libmv/image/convolve.cc
77     libmv/multiview/conditioning.cc
78     libmv/multiview/euclidean_resection.cc
79     libmv/multiview/fundamental.cc
80     libmv/multiview/homography.cc
81     libmv/multiview/panography.cc
82     libmv/multiview/panography_kernel.cc
83     libmv/multiview/projection.cc
84     libmv/multiview/triangulation.cc
85     libmv/numeric/numeric.cc
86     libmv/numeric/poly.cc
87     libmv/simple_pipeline/bundle.cc
88     libmv/simple_pipeline/camera_intrinsics.cc
89     libmv/simple_pipeline/detect.cc
90     libmv/simple_pipeline/distortion_models.cc
91     libmv/simple_pipeline/initialize_reconstruction.cc
92     libmv/simple_pipeline/intersect.cc
93     libmv/simple_pipeline/keyframe_selection.cc
94     libmv/simple_pipeline/modal_solver.cc
95     libmv/simple_pipeline/packed_intrinsics.cc
96     libmv/simple_pipeline/pipeline.cc
97     libmv/simple_pipeline/reconstruction.cc
98     libmv/simple_pipeline/reconstruction_scale.cc
99     libmv/simple_pipeline/resect.cc
100     libmv/simple_pipeline/tracks.cc
101     libmv/tracking/brute_region_tracker.cc
102     libmv/tracking/hybrid_region_tracker.cc
103     libmv/tracking/klt_region_tracker.cc
104     libmv/tracking/pyramid_region_tracker.cc
105     libmv/tracking/retrack_region_tracker.cc
106     libmv/tracking/track_region.cc
107     libmv/tracking/trklt_region_tracker.cc
110     intern/autotrack.h
111     intern/camera_intrinsics.h
112     intern/detector.h
113     intern/frame_accessor.h
114     intern/homography.h
115     intern/image.h
116     intern/logging.h
117     intern/reconstruction.h
118     intern/region.h
119     intern/track_region.h
120     intern/tracks.h
121     intern/tracksN.h
122     intern/utildefines.h
123     libmv/autotrack/autotrack.h
124     libmv/autotrack/callbacks.h
125     libmv/autotrack/frame_accessor.h
126     libmv/autotrack/marker.h
127     libmv/autotrack/model.h
128     libmv/autotrack/predict_tracks.h
129     libmv/autotrack/quad.h
130     libmv/autotrack/reconstruction.h
131     libmv/autotrack/region.h
132     libmv/autotrack/tracks.h
133     libmv/base/aligned_malloc.h
134     libmv/base/array.h
135     libmv/base/id_generator.h
136     libmv/base/map.h
137     libmv/base/scoped_ptr.h
138     libmv/base/vector.h
139     libmv/base/vector_utils.h
140     libmv/build/build_config.h
141     libmv/image/array_nd.h
142     libmv/image/convolve.h
143     libmv/image/correlation.h
144     libmv/image/image_converter.h
145     libmv/image/image_drawing.h
146     libmv/image/image.h
147     libmv/image/sample.h
148     libmv/image/tuple.h
149     libmv/logging/logging.h
150     libmv/multiview/conditioning.h
151     libmv/multiview/euclidean_resection.h
152     libmv/multiview/fundamental.h
153     libmv/multiview/homography_error.h
154     libmv/multiview/homography.h
155     libmv/multiview/homography_parameterization.h
156     libmv/multiview/nviewtriangulation.h
157     libmv/multiview/panography.h
158     libmv/multiview/panography_kernel.h
159     libmv/multiview/projection.h
160     libmv/multiview/resection.h
161     libmv/multiview/triangulation.h
162     libmv/multiview/two_view_kernel.h
163     libmv/numeric/dogleg.h
164     libmv/numeric/function_derivative.h
165     libmv/numeric/levenberg_marquardt.h
166     libmv/numeric/numeric.h
167     libmv/numeric/poly.h
168     libmv/simple_pipeline/bundle.h
169     libmv/simple_pipeline/callbacks.h
170     libmv/simple_pipeline/camera_intrinsics.h
171     libmv/simple_pipeline/camera_intrinsics_impl.h
172     libmv/simple_pipeline/detect.h
173     libmv/simple_pipeline/distortion_models.h
174     libmv/simple_pipeline/initialize_reconstruction.h
175     libmv/simple_pipeline/intersect.h
176     libmv/simple_pipeline/keyframe_selection.h
177     libmv/simple_pipeline/modal_solver.h
178     libmv/simple_pipeline/packed_intrinsics.h
179     libmv/simple_pipeline/pipeline.h
180     libmv/simple_pipeline/reconstruction.h
181     libmv/simple_pipeline/reconstruction_scale.h
182     libmv/simple_pipeline/resect.h
183     libmv/simple_pipeline/tracks.h
184     libmv/threading/threading.h
185     libmv/tracking/brute_region_tracker.h
186     libmv/tracking/hybrid_region_tracker.h
187     libmv/tracking/kalman_filter.h
188     libmv/tracking/klt_region_tracker.h
189     libmv/tracking/pyramid_region_tracker.h
190     libmv/tracking/region_tracker.h
191     libmv/tracking/retrack_region_tracker.h
192     libmv/tracking/track_region.h
193     libmv/tracking/trklt_region_tracker.h
195     third_party/msinttypes/inttypes.h
196     third_party/msinttypes/stdint.h
197   )
200   if(WITH_GTESTS)
201     blender_add_lib(libmv_test_dataset "./libmv/multiview/test_data_sets.cc" "${INC}" "${INC_SYS}" "")
203     blender_add_test_executable("libmv_predict_tracks" "./libmv/autotrack/predict_tracks_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
204     blender_add_test_executable("libmv_tracks" "./libmv/autotrack/tracks_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
205     blender_add_test_executable("libmv_scoped_ptr" "./libmv/base/scoped_ptr_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
206     blender_add_test_executable("libmv_vector" "./libmv/base/vector_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
207     blender_add_test_executable("libmv_array_nd" "./libmv/image/array_nd_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
208     blender_add_test_executable("libmv_convolve" "./libmv/image/convolve_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
209     blender_add_test_executable("libmv_image" "./libmv/image/image_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
210     blender_add_test_executable("libmv_sample" "./libmv/image/sample_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
211     blender_add_test_executable("libmv_tuple" "./libmv/image/tuple_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
212     blender_add_test_executable("libmv_euclidean_resection" "./libmv/multiview/euclidean_resection_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
213     blender_add_test_executable("libmv_fundamental" "./libmv/multiview/fundamental_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
214     blender_add_test_executable("libmv_homography" "./libmv/multiview/homography_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
215     blender_add_test_executable("libmv_nviewtriangulation" "./libmv/multiview/nviewtriangulation_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
216     blender_add_test_executable("libmv_panography" "./libmv/multiview/panography_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
217     blender_add_test_executable("libmv_projection" "./libmv/multiview/projection_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
218     blender_add_test_executable("libmv_resection" "./libmv/multiview/resection_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
219     blender_add_test_executable("libmv_triangulation" "./libmv/multiview/triangulation_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
220     blender_add_test_executable("libmv_dogleg" "./libmv/numeric/dogleg_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
221     blender_add_test_executable("libmv_function_derivative" "./libmv/numeric/function_derivative_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
222     blender_add_test_executable("libmv_levenberg_marquardt" "./libmv/numeric/levenberg_marquardt_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
223     blender_add_test_executable("libmv_numeric" "./libmv/numeric/numeric_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
224     blender_add_test_executable("libmv_poly" "./libmv/numeric/poly_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
225     blender_add_test_executable("libmv_camera_intrinsics" "./libmv/simple_pipeline/camera_intrinsics_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
226     blender_add_test_executable("libmv_detect" "./libmv/simple_pipeline/detect_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
227     blender_add_test_executable("libmv_intersect" "./libmv/simple_pipeline/intersect_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
228     blender_add_test_executable("libmv_keyframe_selection" "./libmv/simple_pipeline/keyframe_selection_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
229     blender_add_test_executable("libmv_modal_solver" "./libmv/simple_pipeline/modal_solver_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
230     blender_add_test_executable("libmv_resect" "./libmv/simple_pipeline/resect_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
231     blender_add_test_executable("libmv_brute_region_tracker" "./libmv/tracking/brute_region_tracker_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
232     blender_add_test_executable("libmv_klt_region_tracker" "./libmv/tracking/klt_region_tracker_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
233     blender_add_test_executable("libmv_pyramid_region_tracker" "./libmv/tracking/pyramid_region_tracker_test.cc" "${INC}" "${INC_SYS}" "libmv_test_dataset;bf_intern_libmv;extern_ceres")
234   endif()
235 else()
236   list(APPEND SRC
237     intern/stub.cc
238   )
239 endif()
241 blender_add_lib(bf_intern_libmv "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")