blob: c430da8ef859fec756a5140db83bc492154fb44b (
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# -*- cmake -*-
include(Prebuilt)
set(NDOF ON CACHE BOOL "Use NDOF space navigator joystick library.")
include_guard()
add_library( ll::ndof INTERFACE IMPORTED )
if (NDOF)
if (WINDOWS OR DARWIN)
use_prebuilt_binary(libndofdev)
elseif (LINUX)
if (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64)
use_prebuilt_binary(open-libndofdev)
else ()
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/libndofdev_installed OR NOT ${libndofdev_installed} EQUAL 0)
if (NOT EXISTS ${CMAKE_BINARY_DIR}/libndofdev-master.zip)
file(DOWNLOAD
https://github.com/janoc/libndofdev/archive/refs/heads/master.zip
${CMAKE_BINARY_DIR}/libndofdev-master.zip
)
endif ()
file(ARCHIVE_EXTRACT
INPUT ${CMAKE_BINARY_DIR}/libndofdev-master.zip
DESTINATION ${CMAKE_BINARY_DIR}
)
set(ENV{USE_SDL3} 1)
execute_process(
COMMAND make -j${MAKE_JOBS}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libndofdev-master
RESULT_VARIABLE libndofdev_installed
)
unset(ENV{USE_SDL3})
file(
COPY ${CMAKE_BINARY_DIR}/libndofdev-master/ndofdev_external.h
DESTINATION ${LIBS_PREBUILT_DIR}/include
)
file(
COPY ${CMAKE_BINARY_DIR}/libndofdev-master/libndofdev.a
DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE}
)
file(WRITE ${PREBUILD_TRACKING_DIR}/libndofdev_installed "${libndofdev_installed}")
endif ()
endif ()
endif (WINDOWS OR DARWIN)
find_library(NDOF_LIBRARY
NAMES
libndofdev
ndofdev
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
if (LINUX)
include(SDL3)
target_link_libraries(ll::ndof INTERFACE ${NDOF_LIBRARY} ll::SDL3)
else()
target_link_libraries(ll::ndof INTERFACE ${NDOF_LIBRARY})
endif()
target_compile_definitions(ll::ndof INTERFACE LIB_NDOF=1)
endif (NDOF)
|