summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRye Cogtail <rye@lindenlab.com>2024-09-04 23:10:13 -0400
committerRye Cogtail <rye@lindenlab.com>2024-09-04 23:10:50 -0400
commit8c65a61b095545b88ecb0820fa0e6ccd484d242a (patch)
tree6180044bd9fbbaa09598deeec3fb11613063d3ec
parent49abe2c8bc23e306d304d02704e2b883648baea6 (diff)
Introduce OpenXR SDK prebuilt package and cmake setup (#2503)
-rw-r--r--autobuild.xml62
-rw-r--r--indra/cmake/OpenXR.cmake22
-rw-r--r--indra/newview/CMakeLists.txt2
3 files changed, 86 insertions, 0 deletions
diff --git a/autobuild.xml b/autobuild.xml
index f90f114601..95ee34439b 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -2210,6 +2210,68 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>description</key>
<string>Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) Library</string>
</map>
+ <key>openxr</key>
+ <map>
+ <key>platforms</key>
+ <map>
+ <key>windows64</key>
+ <map>
+ <key>archive</key>
+ <map>
+ <key>hash</key>
+ <string>3cccc3e3f3137066c286270b35abc00ee0c0bb0c</string>
+ <key>hash_algorithm</key>
+ <string>sha1</string>
+ <key>url</key>
+ <string>https://github.com/secondlife/3p-openxr/releases/download/v1.1.40-r1/openxr-1.1.40-r1-windows64-10710818432.tar.zst</string>
+ </map>
+ <key>name</key>
+ <string>windows64</string>
+ </map>
+ <key>linux64</key>
+ <map>
+ <key>archive</key>
+ <map>
+ <key>hash</key>
+ <string>f0ad0418a98fb8cb6e158fca3902c15ac1de9d2a</string>
+ <key>hash_algorithm</key>
+ <string>sha1</string>
+ <key>url</key>
+ <string>https://github.com/secondlife/3p-openxr/releases/download/v1.1.40-r1/openxr-1.1.40-r1-linux64-10710818432.tar.zst</string>
+ </map>
+ <key>name</key>
+ <string>linux64</string>
+ </map>
+ <key>darwin64</key>
+ <map>
+ <key>archive</key>
+ <map>
+ <key>hash</key>
+ <string>a9bfabec63a987bd34bcfdc295b928bd0696e1d7</string>
+ <key>hash_algorithm</key>
+ <string>sha1</string>
+ <key>url</key>
+ <string>https://github.com/secondlife/3p-openxr/releases/download/v1.1.40-r1/openxr-1.1.40-r1-darwin64-10710818432.tar.zst</string>
+ </map>
+ <key>name</key>
+ <string>darwin64</string>
+ </map>
+ </map>
+ <key>license</key>
+ <string>Apache 2.0</string>
+ <key>license_file</key>
+ <string>LICENSES/openxr.txt</string>
+ <key>copyright</key>
+ <string>Copyright 2017-2024, The Khronos Group Inc.</string>
+ <key>version</key>
+ <string>1.1.40-r1</string>
+ <key>name</key>
+ <string>openxr</string>
+ <key>canonical_repo</key>
+ <string>https://github.com/secondlife/3p-openxr</string>
+ <key>description</key>
+ <string>Generated headers and sources for OpenXR loader.</string>
+ </map>
<key>slvoice</key>
<map>
<key>platforms</key>
diff --git a/indra/cmake/OpenXR.cmake b/indra/cmake/OpenXR.cmake
new file mode 100644
index 0000000000..2cc862b927
--- /dev/null
+++ b/indra/cmake/OpenXR.cmake
@@ -0,0 +1,22 @@
+# -*- cmake -*-
+
+include(Prebuilt)
+
+include_guard()
+add_library( ll::openxr INTERFACE IMPORTED )
+
+if(USE_CONAN )
+ target_link_libraries( ll::openxr INTERFACE CONAN_PKG::openxr )
+ return()
+endif()
+
+use_prebuilt_binary(openxr)
+if (WINDOWS)
+ target_link_libraries( ll::openxr INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/openxr_loader.lib )
+else()
+ target_link_libraries( ll::openxr INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libopenxr_loader.a )
+endif (WINDOWS)
+
+if( NOT LINUX )
+ target_include_directories( ll::openxr SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
+endif()
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 7a9f3a46b5..859ccbd4cd 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -33,6 +33,7 @@ include(NVAPI)
include(OPENAL)
include(OpenGL)
include(OpenSSL)
+include(OpenXR)
include(PNG)
include(TemplateCheck)
include(TinyEXR)
@@ -1928,6 +1929,7 @@ target_link_libraries(${VIEWER_BINARY_NAME}
${LLPHYSICSEXTENSIONS_LIBRARIES}
ll::bugsplat
ll::tracy
+ ll::openxr
)
if( TARGET ll::intel_memops )