blob: 4a1b4a5abd06551371e934e010c75cae010b5f9f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
function(maybe_add_static_define)
get_filename_component(aruco-ext "${SDK_ARUCO_LIBPATH}" EXT)
string(TOLOWER "${aruco-ext}" aruco-ext)
if(aruco-ext STREQUAL ".lib" OR aruco-ext STREQUAL ".a")
add_definitions(-DARUCO_STATIC)
endif()
endfunction()
include(opentrack-opencv)
find_package(OpenCV QUIET)
if(OpenCV_FOUND AND TARGET opencv_calib3d AND TARGET opencv_features2d)
foreach(k core calib3d imgproc features2d flann)
otr_install_lib("opencv_${k}" "${opentrack-libexec}")
endforeach()
set(SDK_ARUCO_LIBPATH "" CACHE FILEPATH "Aruco paper marker tracker static library path")
if(SDK_ARUCO_LIBPATH)
set(modules "${SDK_ARUCO_LIBPATH}" opencv_calib3d opencv_imgproc opencv_core)
get_filename_component(dir "${SDK_ARUCO_LIBPATH}" DIRECTORY)
get_filename_component(dir "${dir}" ABSOLUTE)
set(dir "${dir}/include")
try_compile(tracker-aruco_has-working-abi "${CMAKE_CURRENT_BINARY_DIR}"
SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/compile-test/abi.cpp"
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${dir}"
"-DCXX_STANDARD=17" "-DCXX_STANDARD_REQUIRED=1"
OUTPUT_VARIABLE krap)
if(NOT tracker-aruco_has-working-abi)
message(FATAL_ERROR "${krap}\n" "Must use Aruco fork from <https://github.com/opentrack/aruco>")
endif()
maybe_add_static_define()
otr_install_lib("${SDK_ARUCO_LIBPATH}" "${opentrack-libexec}")
otr_module(tracker-aruco)
target_include_directories(${self} SYSTEM PUBLIC ${OpenCV_INCLUDE_DIRS} "${dir}")
target_link_libraries(${self} opentrack-cv ${modules})
endif()
endif()
|