]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/theia/fix-external-dependencies.patch
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / theia / fix-external-dependencies.patch
1 diff --git a/CMakeLists.txt b/CMakeLists.txt
2 index 9c1b150..1adbfed 100644
3 --- a/CMakeLists.txt
4 +++ b/CMakeLists.txt
5 @@ -105,10 +105,10 @@ add_definitions(-DTHEIA_DATA_DIR="${CMAKE_SOURCE_DIR}/data")
6
7 # Eigen
8 set(MIN_EIGEN_VERSION 3.2.0)
9 -find_package(Eigen ${MIN_EIGEN_VERSION} REQUIRED)
10 -if (EIGEN_FOUND)
11 - message("-- Found Eigen version ${EIGEN_VERSION}: ${EIGEN_INCLUDE_DIRS}")
12 -endif (EIGEN_FOUND)
13 +find_package(Eigen3 ${MIN_EIGEN_VERSION} REQUIRED)
14 +if (EIGEN3_FOUND)
15 + message("-- Found Eigen version ${EIGEN3_VERSION}: ${EIGEN3_INCLUDE_DIRS}")
16 +endif (EIGEN3_FOUND)
17
18 # Use a larger inlining threshold for Clang, since it hobbles Eigen,
19 # resulting in an unreasonably slow version of the blas routines. The
20 @@ -129,70 +129,27 @@ endif ()
21
22 # GFlags. The namespace patch is borrow from Ceres Solver (see license in
23 # FindGflags.cmake)
24 +message("-- Check for Google Flags")
25 find_package(Gflags REQUIRED)
26 -if (GFLAGS_FOUND)
27 - message("-- Found Google Flags: ${GFLAGS_INCLUDE_DIRS} in namespace: ${GFLAGS_NAMESPACE}")
28 - add_definitions(-DTHEIA_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE})
29 -else (GFLAGS_FOUND)
30 - message(FATAL_ERROR "Can't find Google FLAGS.")
31 -endif (GFLAGS_FOUND)
32
33 # Google Logging
34 message("-- Check for Google Log")
35 find_package(Glog REQUIRED)
36 -if (GLOG_FOUND)
37 - message("-- Found Google Logging: ${GLOG_INCLUDE_DIRS}")
38 -else (GLOG_FOUND)
39 - message(FATAL_ERROR "Can't find Google Logging. Please set GLOG_INCLUDE_DIR & "
40 - "GLOG_LIBRARY")
41 -endif (GLOG_FOUND)
42 +
43 +# Flann
44 +message("-- Check for Flann")
45 +find_package(Flann REQUIRED)
46
47 # Ceres
48 message("-- Check for Ceres")
49 find_package(Ceres REQUIRED SuiteSparse)
50 -if (CERES_FOUND)
51 - message("-- Found Ceres: ${CERES_INCLUDE_DIRS}")
52 -else (CERES_FOUND)
53 - message(FATAL_ERROR "Can't find Ceres. Please set CERES_INCLUDE_DIR & "
54 - "CERES_LIBRARY")
55 -endif (CERES_FOUND)
56
57 # OpenImageIO
58 message("-- Check for OpenImageIO")
59 find_package(OpenImageIO REQUIRED)
60 -if (OPENIMAGEIO_FOUND)
61 - message("-- Found OpenImageIO: ${OPENIMAGEIO_INCLUDE_DIRS}")
62 -else (OPENIMAGEIO_FOUND)
63 - message(FATAL_ERROR "Can't find OpenImageIO. Please set OPENIMAGEIO_INCLUDE_DIR & "
64 - "OPENIMAGEIO_LIBRARY")
65 -endif (OPENIMAGEIO_FOUND)
66
67 # Suitesparse
68 find_package(SuiteSparse REQUIRED)
69 -if (SUITESPARSE_FOUND)
70 - # On Ubuntu the system install of SuiteSparse (v3.4.0) up to at least
71 - # Ubuntu 13.10 cannot be used to link shared libraries.
72 - if (BUILD_SHARED_LIBS AND
73 - SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION)
74 - message(FATAL_ERROR "You are attempting to build Theia as a shared "
75 - "library on Ubuntu using a system package install of SuiteSparse "
76 - "3.4.0. This package is broken and does not support the "
77 - "construction of shared libraries (you can still build Theia as "
78 - "a static library). If you wish to build a shared version of Theia "
79 - "you should uninstall the system install of SuiteSparse "
80 - "(libsuitesparse-dev) and perform a source install of SuiteSparse "
81 - "(we recommend that you use the latest version), "
82 - "see http://theia-solver.org/building.html for more information.")
83 - endif (BUILD_SHARED_LIBS AND
84 - SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION)
85 - message("-- Found SuiteSparse ${SUITESPARSE_VERSION}")
86 - add_definitions(-DTHEIA_SUITESPARSE_VERSION="${SUITESPARSE_VERSION}")
87 -else (SUITESPARSE_FOUND)
88 - # Disable use of SuiteSparse if it cannot be found and continue.
89 - message(FATAL ERROR "Can't find SuiteSparse. This library is required "
90 - "for bundle adjustment and for solving convex optimization problems. "
91 - "Please set SUITESPARSE_INCLUDE_DIR & SUITESPARSE_LIBRARY")
92 -endif (SUITESPARSE_FOUND)
93
94 include_directories(
95 include
96 @@ -225,24 +182,19 @@ include_directories(
97 libraries/spectra
98 ${akaze_SOURCE_DIR}
99 ${akaze_INCLUDE_DIR}
100 - ${cereal_SOURCE_DIR}
101 - ${cereal_SOURCE_DIR}/include
102 - ${flann_SOURCE_DIR}
103 - ${flann_SOURCE_DIR}/src/cpp
104 - ${gtest_SOURCE_DIR}/include
105 - ${gtest_SOURCE_DIR}
106 ${optimo_SOURCE_DIR}
107 ${statx_SOURCE_DIR}
108 ${stlplus3_SOURCE_DIR}
109 ${vlfeat_SOURCE_DIR}
110 - ${visual_sfm_SOURCE_DIR})
111 + ${visual_sfm_SOURCE_DIR}
112 +)
113
114 list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
115 include(OptimizeTheiaCompilerFlags)
116 optimizetheiacompilerflags()
117
118 add_subdirectory(src/theia)
119 -add_subdirectory(applications)
120 +#add_subdirectory(applications)
121
122 if (BUILD_DOCUMENTATION)
123 message("-- Documentation building is enabled")
124 @@ -260,7 +212,13 @@ install(FILES ${THEIA_HDRS} DESTINATION include/theia)
125 file(GLOB_RECURSE THEIA_INTERNAL_HDRS ${CMAKE_SOURCE_DIR}/src/theia/*.h)
126 install(DIRECTORY src/theia/ DESTINATION include/theia FILES_MATCHING PATTERN "*.h")
127
128 -install(DIRECTORY libraries/ DESTINATION include/theia/libraries FILES_MATCHING PATTERN "*.h*")
129 +install(DIRECTORY libraries/akaze/ DESTINATION include/theia/libraries/akaze FILES_MATCHING PATTERN "*.h*")
130 +install(DIRECTORY libraries/optimo/ DESTINATION include/theia/libraries/optimo FILES_MATCHING PATTERN "*.h*")
131 +install(DIRECTORY libraries/spectra/ DESTINATION include/theia/libraries/spectra FILES_MATCHING PATTERN "*.h*")
132 +install(DIRECTORY libraries/statx/ DESTINATION include/theia/libraries/statx FILES_MATCHING PATTERN "*.h*")
133 +install(DIRECTORY libraries/stlplus3/ DESTINATION include/theia/libraries/stlplus3 FILES_MATCHING PATTERN "*.h*")
134 +install(DIRECTORY libraries/visual_sfm/ DESTINATION include/theia/libraries/visual_sfm FILES_MATCHING PATTERN "*.h*")
135 +install(DIRECTORY libraries/vlfeat/ DESTINATION include/theia/libraries/vlfeat FILES_MATCHING PATTERN "*.h*")
136
137 # Add an uninstall target to remove all installed files.
138 configure_file("${CMAKE_SOURCE_DIR}/cmake/uninstall.cmake.in"
139 @@ -272,17 +230,10 @@ add_custom_target(uninstall
140
141 # Set up install directories. INCLUDE_INSTALL_DIR, LIB_INSTALL_DIR and
142 # CMAKECONFIG_INSTALL_DIR must not be absolute paths.
143 -if (WIN32)
144 - set(INCLUDE_INSTALL_DIR Include)
145 - set(LIB_INSTALL_DIR Lib)
146 - set(CMAKECONFIG_INSTALL_DIR CMake)
147 - set(RELATIVE_CMAKECONFIG_INSTALL_DIR CMake)
148 -else ()
149 - set(INCLUDE_INSTALL_DIR include)
150 - set(LIB_INSTALL_DIR lib)
151 - set(CMAKECONFIG_INSTALL_DIR share/Theia)
152 - set(RELATIVE_CMAKECONFIG_INSTALL_DIR share/Theia)
153 -endif ()
154 +set(INCLUDE_INSTALL_DIR include)
155 +set(LIB_INSTALL_DIR lib)
156 +set(CMAKECONFIG_INSTALL_DIR share/theia)
157 +set(RELATIVE_CMAKECONFIG_INSTALL_DIR share/theia)
158
159 # This "exports" all targets which have been put into the export set
160 # "TheiaExport". This means that CMake generates a file with the given
161 @@ -319,9 +270,5 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/TheiaConfigVersion.cmake.in"
162 # in the public API of Theia and should thus be present in THEIA_INCLUDE_DIRS.
163 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfig.cmake"
164 "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfigVersion.cmake"
165 - "${CMAKE_SOURCE_DIR}/cmake/FindEigen.cmake"
166 - "${CMAKE_SOURCE_DIR}/cmake/FindGlog.cmake"
167 - "${CMAKE_SOURCE_DIR}/cmake/FindGflags.cmake"
168 - "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake"
169 - "${CMAKE_SOURCE_DIR}/cmake/FindSuiteSparse.cmake"
170 + "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake"
171 DESTINATION ${CMAKECONFIG_INSTALL_DIR})
172 diff --git a/cmake/TheiaConfig.cmake.in b/cmake/TheiaConfig.cmake.in
173 index a3ea187..7e9d912 100644
174 --- a/cmake/TheiaConfig.cmake.in
175 +++ b/cmake/TheiaConfig.cmake.in
176 @@ -124,14 +124,7 @@ list(APPEND CERES_INCLUDE_DIR_HINTS @CERES_INCLUDE_DIR@)
177 get_filename_component(THEIA_BUILD_CERES_LIBRARY_DIR @CERES_LIBRARIES@ PATH)
178 list(APPEND CERES_LIBRARY_DIR_HINTS ${THEIA_BUILD_CERES_LIBRARY_DIR})
179 # Search quietly s/t we control the timing of the error message if not found.
180 -find_package(Ceres QUIET)
181 -if (CERES_FOUND)
182 - message(STATUS "Found required Theia dependency: "
183 - "Ceres in ${CERES_INCLUDE_DIRS}")
184 -else (CERES_FOUND)
185 - theia_report_not_found("Missing required Theia "
186 - "dependency: Ceres, please set CERES_INCLUDE_DIR.")
187 -endif (CERES_FOUND)
188 +find_package(Ceres REQUIRED)
189 list(APPEND THEIA_INCLUDE_DIRS ${CERES_INCLUDE_DIRS})
190
191 # Glog.
192 @@ -140,64 +133,19 @@ list(APPEND GLOG_INCLUDE_DIR_HINTS @GLOG_INCLUDE_DIR@)
193 get_filename_component(THEIA_BUILD_GLOG_LIBRARY_DIR @GLOG_LIBRARY@ PATH)
194 list(APPEND GLOG_LIBRARY_DIR_HINTS ${THEIA_BUILD_GLOG_LIBRARY_DIR})
195 # Search quietly s/t we control the timing of the error message if not found.
196 -find_package(Glog QUIET)
197 -if (GLOG_FOUND)
198 - message(STATUS "Found required Theia dependency: "
199 - "Glog in ${GLOG_INCLUDE_DIRS}")
200 -else (GLOG_FOUND)
201 - theia_report_not_found("Missing required Theia "
202 - "dependency: Glog, please set GLOG_INCLUDE_DIR.")
203 -endif (GLOG_FOUND)
204 +find_package(Glog REQUIRED)
205 list(APPEND THEIA_INCLUDE_DIRS ${GLOG_INCLUDE_DIRS})
206
207 # GFlags. The namespace patch is borrow from Ceres Solver (see license in
208 # FindGflags.cmake)
209 -find_package(Gflags QUIET)
210 -if (GFLAGS_FOUND)
211 - message(STATUS "Found required Theia dependency: Google Flags in "
212 - "${GFLAGS_INCLUDE_DIRS} in namespace: ${GFLAGS_NAMESPACE}")
213 - add_definitions(-DTHEIA_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE})
214 -else (GFLAGS_FOUND)
215 - theia_report_not_found("Missing required Theia dependency: Google Flags, please set "
216 - "GFLAGS_INCLUDE_DIR.")
217 -endif (GFLAGS_FOUND)
218 +find_package(Gflags REQUIRED)
219 list(APPEND THEIA_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIRS})
220
221 # OpenImageIO
222 -find_package(OpenImageIO QUIET)
223 -if (OPENIMAGEIO_FOUND)
224 - message(STATUS "Found Theia dependency: OpenImageIO in ${OPENIMAGEIO_INCLUDE_DIRS}")
225 -else (OPENIMAGEIO_FOUND)
226 - theia_report_not_found("Missing required Theia dependency: OpenImageIO. Please set "
227 - "OPENIMAGEIO_INCLUDE_DIR & OPENIMAGEIO_LIBRARY")
228 -endif (OPENIMAGEIO_FOUND)
229 +find_package(OpenImageIO REQUIRED)
230 list(APPEND THEIA_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIRS})
231
232 -find_package(SuiteSparse QUIET)
233 -if (SUITESPARSE_FOUND)
234 - # On Ubuntu the system install of SuiteSparse (v3.4.0) up to at least
235 - # Ubuntu 13.10 cannot be used to link shared libraries.
236 - if (BUILD_SHARED_LIBS AND
237 - SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION)
238 - theia_report_not_found("You are attempting to build Theia as a shared "
239 - "library on Ubuntu using a system package install of SuiteSparse "
240 - "3.4.0. This package is broken and does not support the "
241 - "construction of shared libraries (you can still build Theia as "
242 - "a static library). If you wish to build a shared version of Theia "
243 - "you should uninstall the system install of SuiteSparse "
244 - "(libsuitesparse-dev) and perform a source install of SuiteSparse "
245 - "(we recommend that you use the latest version), "
246 - "see http://theia-solver.org/building.html for more information.")
247 - endif (BUILD_SHARED_LIBS AND
248 - SUITESPARSE_IS_BROKEN_SHARED_LINKING_UBUNTU_SYSTEM_VERSION)
249 - message("-- Found SuiteSparse ${SUITESPARSE_VERSION}")
250 - add_definitions(-DTHEIA_SUITESPARSE_VERSION="${SUITESPARSE_VERSION}")
251 -else (SUITESPARSE_FOUND)
252 - # Disable use of SuiteSparse if it cannot be found and continue.
253 - theia_report_not_found("Can't find SuiteSparse. This library is required "
254 - "for bundle adjustment and for solving convex optimization problems. "
255 - "Please set SUITESPARSE_INCLUDE_DIR & SUITESPARSE_LIBRARY")
256 -endif (SUITESPARSE_FOUND)
257 +find_package(SuiteSparse REQUIRED)
258 list(APPEND THEIA_INCLUDE_DIRS ${SUITESPARSE_INCLUDE_DIRS})
259
260 # Import exported Theia targets.
261 @@ -207,22 +155,24 @@ endif (NOT TARGET theia AND NOT Theia_BINARY_DIR)
262 # Set the expected XX_LIBRARIES variable for FindPackage().
263 set(THEIA_LIBRARIES theia)
264
265 +find_package(cereal REQUIRED)
266 +list(APPEND THEIA_LIBRARIES cereal)
267 +
268 +find_package(Flann REQUIRED)
269 +list(APPEND THEIA_INCLUDE_DIRS ${FLANN_INCLUDE_DIR})
270 +list(APPEND THEIA_LIBRARIES ${FLANN_LIBRARY})
271 +
272 # Add the libraries included with the distribution.
273 set(THEIA_INTERNAL_LIB_PREFIX ${THEIA_INCLUDE_DIR}/theia/libraries)
274 set(THEIA_INTERNAL_LIBS_INCLUDES
275 ${THEIA_INTERNAL_LIB_PREFIX}
276 ${THEIA_INTERNAL_LIB_PREFIX}/akaze
277 - ${THEIA_INTERNAL_LIB_PREFIX}/cereal
278 - ${THEIA_INTERNAL_LIB_PREFIX}/cereal/include
279 - ${THEIA_INTERNAL_LIB_PREFIX}/flann
280 - ${THEIA_INTERNAL_LIB_PREFIX}/gtest
281 - ${THEIA_INTERNAL_LIB_PREFIX}/gtest/include
282 ${THEIA_INTERNAL_LIB_PREFIX}/optimo
283 ${THEIA_INTERNAL_LIB_PREFIX}/spectra
284 ${THEIA_INTERNAL_LIB_PREFIX}/statx
285 ${THEIA_INTERNAL_LIB_PREFIX}/stlplus3
286 - ${THEIA_INTERNAL_LIB_PREFIX}/vlfeat
287 - ${THEIA_INTERNAL_LIB_PREFIX}/visual_sfm)
288 + ${THEIA_INTERNAL_LIB_PREFIX}/visual_sfm
289 + ${THEIA_INTERNAL_LIB_PREFIX}/vlfeat)
290
291 list(APPEND THEIA_INCLUDE_DIRS ${THEIA_INTERNAL_LIBS_INCLUDES})
292
293 diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt
294 index 84f3829..f88d75a 100644
295 --- a/libraries/CMakeLists.txt
296 +++ b/libraries/CMakeLists.txt
297 @@ -5,12 +5,6 @@ endif (${BUILD_TESTING})
298 # AKAZE feature extractor.
299 add_subdirectory(akaze)
300
301 -# Cereal for portable IO.
302 -add_subdirectory(cereal)
303 -
304 -# Flann for fast approximate nearest neighbor searches.
305 -add_subdirectory(flann)
306 -
307 # Add Optimo.
308 add_subdirectory(optimo)
309
310 @@ -24,4 +18,4 @@ add_subdirectory(stlplus3)
311 add_subdirectory(vlfeat)
312
313 # Add VisualSfM files.
314 -add_subdirectory(visual_sfm)
315 \ No newline at end of file
316 +add_subdirectory(visual_sfm)
317 diff --git a/libraries/optimo/CMakeLists.txt b/libraries/optimo/CMakeLists.txt
318 index 80f5e5f..ea57f1b 100644
319 --- a/libraries/optimo/CMakeLists.txt
320 +++ b/libraries/optimo/CMakeLists.txt
321 @@ -67,11 +67,11 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
322
323 # Locations to search for Eigen
324 # Eigen
325 -find_package(Eigen REQUIRED)
326 -if (EIGEN_FOUND)
327 - message("-- Found Eigen version ${EIGEN_VERSION}: ${EIGEN_INCLUDE_DIRS}")
328 -endif (EIGEN_FOUND)
329 -include_directories(${EIGEN_INCLUDE_DIRS})
330 +find_package(Eigen3 REQUIRED)
331 +if (EIGEN3_FOUND)
332 + message("-- Found Eigen version ${EIGEN3_VERSION_STRING}: ${EIGEN3_INCLUDE_DIRS}")
333 +endif (EIGEN3_FOUND)
334 +include_directories(${EIGEN3_INCLUDE_DIRS})
335
336 # Setting CXX FLAGS appropriately. The code below was inspired from
337 # Google CERES and modified for this library.
338 diff --git a/libraries/statx/CMakeLists.txt b/libraries/statx/CMakeLists.txt
339 index 23b9e49..c58a550 100644
340 --- a/libraries/statx/CMakeLists.txt
341 +++ b/libraries/statx/CMakeLists.txt
342 @@ -72,11 +72,11 @@ message("-- Default Install prefix: ${CMAKE_INSTALL_PREFIX}")
343 option(STATX_WITH_CERES "Enables GEV parameter estimation using Ceres" ON)
344
345 # Eigen
346 -find_package(Eigen REQUIRED)
347 -if (EIGEN_FOUND)
348 - message("-- Found Eigen version ${EIGEN_VERSION}: ${EIGEN_INCLUDE_DIRS}")
349 -endif (EIGEN_FOUND)
350 -include_directories(${EIGEN_INCLUDE_DIRS})
351 +find_package(Eigen3 REQUIRED)
352 +if (EIGEN3_FOUND)
353 + message("-- Found Eigen version ${EIGEN3_VERSION_STRING}: ${EIGEN3_INCLUDE_DIRS}")
354 +endif (EIGEN3_FOUND)
355 +include_directories(${EIGEN3_INCLUDE_DIRS})
356
357 # Google Flags
358 find_package(Gflags REQUIRED)
359 @@ -103,7 +103,11 @@ if(STATX_WITH_CERES)
360 endif(CERES_FOUND)
361
362 # BLAS
363 - find_package(BLAS REQUIRED)
364 + if(UNIX AND NOT APPLE)
365 + find_package(OpenBLAS REQUIRED)
366 + else()
367 + find_package(BLAS REQUIRED)
368 + endif()
369
370 # LAPACK
371 find_package(LAPACK REQUIRED)
372 @@ -129,7 +133,6 @@ set(XGAMMA_FILES ${XGAMMA_FUNCS}/asa121.cpp ${XGAMMA_FUNCS}/asa103.cpp)
373
374 # Setting CXX FLAGS appropriately. The code below was inspired from
375 # Google CERES and modified for this library.
376 -set (CMAKE_BUILD_TYPE Release)
377 set (STATX_CXX_FLAGS)
378
379 if (CMAKE_BUILD_TYPE STREQUAL "Release")
380 diff --git a/libraries/vlfeat/CMakeLists.txt b/libraries/vlfeat/CMakeLists.txt
381 index 7f4ffc7..15bca12 100644
382 --- a/libraries/vlfeat/CMakeLists.txt
383 +++ b/libraries/vlfeat/CMakeLists.txt
384 @@ -18,14 +18,19 @@ set(vl_sources
385 vl/random.c
386 vl/sift.c
387 vl/vlad.c)
388 +
389 set_source_files_properties(${vl_sources} PROPERTIES LANGUAGE C)
390
391 +add_library(vlfeat ${vl_sources})
392 +
393 if (MSVC)
394 - add_definitions(-DVL_BUILD_DLL)
395 - add_definitions(-DVL_DISABLE_SSE2)
396 + if(BUILD_SHARED_LIBS)
397 + target_compile_definitions(vlfeat PRIVATE VL_BUILD_DLL)
398 + target_compile_definitions(vlfeat INTERFACE BUILD_DLL)
399 + endif()
400 + target_compile_definitions(vlfeat PUBLIC VL_DISABLE_SSE2)
401 endif (MSVC)
402
403 -add_library(vlfeat SHARED ${vl_sources})
404 install(TARGETS vlfeat
405 EXPORT TheiaExport
406 RUNTIME DESTINATION bin
407 diff --git a/libraries/vlfeat/vl/host.h b/libraries/vlfeat/vl/host.h
408 index 293fe1f..0ea3d42 100644
409 --- a/libraries/vlfeat/vl/host.h
410 +++ b/libraries/vlfeat/vl/host.h
411 @@ -312,27 +312,31 @@ defined(__DOXYGEN__)
412 #if defined(VL_COMPILER_MSC) & ! defined(__DOXYGEN__)
413 # define VL_UNUSED
414 # define VL_INLINE static __inline
415 -# define snprintf _snprintf
416 # define isnan _isnan
417 -# ifdef VL_BUILD_DLL
418 +# if defined(VL_BUILD_DLL)
419 # ifdef __cplusplus
420 # define VL_EXPORT extern "C" __declspec(dllexport)
421 # else
422 # define VL_EXPORT extern __declspec(dllexport)
423 # endif
424 -# else
425 +# elif defined(VL_DLL)
426 # ifdef __cplusplus
427 # define VL_EXPORT extern "C" __declspec(dllimport)
428 # else
429 # define VL_EXPORT extern __declspec(dllimport)
430 # endif
431 +# else
432 +# ifdef __cplusplus
433 +# define VL_EXPORT extern "C"
434 +# else
435 +# define VL_EXPORT extern
436 +# endif
437 # endif
438 #endif
439
440 #if defined(VL_COMPILER_LCC) & ! defined(__DOXYGEN__)
441 # define VL_UNUSED
442 # define VL_INLINE static __inline
443 -# define snprintf _snprintf
444 # define isnan _isnan
445 VL_INLINE float fabsf(float x) { return (float) fabs((double) x) ; }
446 # ifdef VL_BUILD_DLL
447 diff --git a/src/theia/CMakeLists.txt b/src/theia/CMakeLists.txt
448 index 6830f71..768586d 100644
449 --- a/src/theia/CMakeLists.txt
450 +++ b/src/theia/CMakeLists.txt
451 @@ -209,7 +209,6 @@ set(THEIA_LIBRARY_DEPENDENCIES
452 ${SUITESPARSE_LIBRARIES}
453 ${OPENIMAGEIO_LIBRARIES}
454 akaze
455 - flann_cpp
456 statx
457 stlplus3
458 vlfeat