diff options
author | Erik Kundiman <erik@megapahit.org> | 2025-07-18 13:52:07 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2025-07-18 13:52:07 +0800 |
commit | c6048b2a8e18877f3f8bd0a7e190c553a3caa9a5 (patch) | |
tree | 5e5b921f08012b20a5ae940d4f8ac4bd95e2f444 /indra/cmake/NDOF.cmake | |
parent | 04081678eeaa1d56cecc1c68aa358d255addf81d (diff) | |
parent | 09a3bac9436af1b6077fb27885c8c6c645f40a8e (diff) |
Merge branch 'main' into 2025.05
Diffstat (limited to 'indra/cmake/NDOF.cmake')
-rw-r--r-- | indra/cmake/NDOF.cmake | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake index d6e5e53ac9..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 @@ -43,8 +44,37 @@ if (NDOF) endif () endif () elseif (LINUX) + if (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) use_prebuilt_binary(open-libndofdev) - endif (WINDOWS OR DARWIN) + else () + 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 () if (WINDOWS) target_link_libraries( ll::ndof INTERFACE libndofdev) |