summaryrefslogtreecommitdiff
path: root/indra/cmake/NDOF.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'indra/cmake/NDOF.cmake')
-rw-r--r--indra/cmake/NDOF.cmake40
1 files changed, 38 insertions, 2 deletions
diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake
index b88fbccf2a..1bf6c5086c 100644
--- a/indra/cmake/NDOF.cmake
+++ b/indra/cmake/NDOF.cmake
@@ -8,7 +8,43 @@ add_library( ll::ndof INTERFACE IMPORTED )
if (NDOF)
if (WINDOWS OR DARWIN)
+ if (USESYSTEMLIBS)
+ if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/libndofdev_installed OR NOT ${libndofdev_installed} EQUAL 0)
+ file(DOWNLOAD
+ https://github.com/secondlife/3p-libndofdev/archive/refs/tags/v0.1.8e9edc7.tar.gz
+ ${CMAKE_BINARY_DIR}/3p-libndofdev-0.1.8e9edc7.tar.gz
+ )
+ file(ARCHIVE_EXTRACT
+ INPUT ${CMAKE_BINARY_DIR}/3p-libndofdev-0.1.8e9edc7.tar.gz
+ DESTINATION ${CMAKE_BINARY_DIR}
+ )
+ try_compile(LIBNDOFDEV_RESULT
+ PROJECT libndofdev
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-libndofdev-0.1.8e9edc7/libndofdev
+ BINARY_DIR ${CMAKE_BINARY_DIR}/3p-libndofdev-0.1.8e9edc7/libndofdev
+ TARGET ndofdev
+ CMAKE_FLAGS
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
+ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.15
+ -DCMAKE_C_FLAGS:STRING=-DTARGET_OS_MAC\ -Wno-int-conversion
+ OUTPUT_VARIABLE libndofdev_installed
+ )
+ if (${LIBNDOFDEV_RESULT})
+ file(
+ COPY ${CMAKE_BINARY_DIR}/3p-libndofdev-0.1.8e9edc7/libndofdev/src/ndofdev_external.h
+ DESTINATION ${LIBS_PREBUILT_DIR}/include
+ )
+ file(
+ COPY ${CMAKE_BINARY_DIR}/3p-libndofdev-0.1.8e9edc7/libndofdev/src/libndofdev.dylib
+ DESTINATION ${LIBS_PREBUILT_DIR}/lib/release
+ )
+ file(WRITE ${PREBUILD_TRACKING_DIR}/libndofdev_installed "0")
+ endif (${LIBNDOFDEV_RESULT})
+ endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/libndofdev_installed OR NOT ${libndofdev_installed} EQUAL 0)
+ else (USESYSTEMLIBS)
use_prebuilt_binary(libndofdev)
+ endif (USESYSTEMLIBS)
elseif (LINUX)
use_prebuilt_binary(open-libndofdev)
endif (WINDOWS OR DARWIN)
@@ -19,6 +55,6 @@ if (NDOF)
target_link_libraries( ll::ndof INTERFACE ndofdev)
endif (WINDOWS)
target_compile_definitions( ll::ndof INTERFACE LIB_NDOF=1)
+else()
+ add_compile_options(-ULIB_NDOF)
endif (NDOF)
-
-