From e5a7ba4f8f807626e9602d7b231893e2d1ab92d7 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 12:16:14 +0800 Subject: NDOF support for non x86-64 Linux --- indra/cmake/NDOF.cmake | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'indra/cmake/NDOF.cmake') diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake index d6e5e53ac9..4d8ca9fce5 100644 --- a/indra/cmake/NDOF.cmake +++ b/indra/cmake/NDOF.cmake @@ -43,7 +43,34 @@ if (NDOF) endif () endif () elseif (LINUX) + if (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) use_prebuilt_binary(open-libndofdev) + else () + file(DOWNLOAD + https://github.com/janoc/libndofdev/archive/refs/tags/v0.14.tar.gz + ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz + ) + file(ARCHIVE_EXTRACT + INPUT ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz + DESTINATION ${CMAKE_BINARY_DIR} + ) + set(ENV{USE_SDL2} 1) + execute_process( + COMMAND make -j${MAKE_JOBS} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libndofdev-0.14 + RESULT_VARIABLE libndofdev_installed + ) + unset(ENV{USE_SDL2}) + file( + COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/ndofdev_external.h + DESTINATION ${LIBS_PREBUILT_DIR}/include + ) + file( + COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/libndofdev.a + DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} + ) + file(WRITE ${PREBUILD_TRACKING_DIR}/libndofdev_installed "${libndofdev_installed}") + endif () endif (WINDOWS OR DARWIN) if (WINDOWS) -- cgit v1.2.3 From f7b958e88e8cc3e867cbb6abf6f169df5e993261 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 8 Jul 2025 17:06:44 +0800 Subject: Turn NDOF back on for Windows x64 and don't rebuild NDOF on non x86-64 Linux when it's already installed. --- indra/cmake/NDOF.cmake | 59 ++++++++++++++++++++++++++------------------------ 1 file changed, 31 insertions(+), 28 deletions(-) (limited to 'indra/cmake/NDOF.cmake') diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake index 4d8ca9fce5..9f33c6e220 100644 --- a/indra/cmake/NDOF.cmake +++ b/indra/cmake/NDOF.cmake @@ -7,9 +7,10 @@ include_guard() add_library( ll::ndof INTERFACE IMPORTED ) if (NDOF) - if (WINDOWS OR DARWIN) - #use_prebuilt_binary(libndofdev) - if (DARWIN AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/libndofdev_installed OR NOT ${libndofdev_installed} EQUAL 0)) + if (WINDOWS) + use_prebuilt_binary(libndofdev) + elseif (DARWIN) + 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 @@ -46,32 +47,34 @@ if (NDOF) if (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) use_prebuilt_binary(open-libndofdev) else () - file(DOWNLOAD - https://github.com/janoc/libndofdev/archive/refs/tags/v0.14.tar.gz - ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz - ) - file(ARCHIVE_EXTRACT - INPUT ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz - DESTINATION ${CMAKE_BINARY_DIR} - ) - set(ENV{USE_SDL2} 1) - execute_process( - COMMAND make -j${MAKE_JOBS} - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libndofdev-0.14 - RESULT_VARIABLE libndofdev_installed - ) - unset(ENV{USE_SDL2}) - file( - COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/ndofdev_external.h - DESTINATION ${LIBS_PREBUILT_DIR}/include - ) - file( - COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/libndofdev.a - DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} - ) - file(WRITE ${PREBUILD_TRACKING_DIR}/libndofdev_installed "${libndofdev_installed}") + 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/janoc/libndofdev/archive/refs/tags/v0.14.tar.gz + ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz + ) + file(ARCHIVE_EXTRACT + INPUT ${CMAKE_BINARY_DIR}/libndofdev-0.14.tar.gz + DESTINATION ${CMAKE_BINARY_DIR} + ) + set(ENV{USE_SDL2} 1) + execute_process( + COMMAND make -j${MAKE_JOBS} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libndofdev-0.14 + RESULT_VARIABLE libndofdev_installed + ) + unset(ENV{USE_SDL2}) + file( + COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/ndofdev_external.h + DESTINATION ${LIBS_PREBUILT_DIR}/include + ) + file( + COPY ${CMAKE_BINARY_DIR}/libndofdev-0.14/libndofdev.a + DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} + ) + file(WRITE ${PREBUILD_TRACKING_DIR}/libndofdev_installed "${libndofdev_installed}") + endif () endif () - endif (WINDOWS OR DARWIN) + endif () if (WINDOWS) target_link_libraries( ll::ndof INTERFACE libndofdev) -- cgit v1.2.3