[openxr-loader] Update, revise (#42464)

This commit is contained in:
Kai Pastor 2024-12-04 05:41:03 +01:00 committed by GitHub
parent 55dec59d05
commit 26abb5b33f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 51 additions and 71 deletions

View File

@ -1,23 +0,0 @@
From d80c7dc3f4810fc49e4444590d39ef71e8a9b01c Mon Sep 17 00:00:00 2001
From: Adam Johnson <AdamJohnso@gmail.com>
Date: Sat, 19 Feb 2022 19:42:31 -0500
Subject: [PATCH] Fix bad import in jinja2
---
external/python/jinja2/utils.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/external/python/jinja2/utils.py b/external/python/jinja2/utils.py
index db9c5d06..f198e3ef 100644
--- a/external/python/jinja2/utils.py
+++ b/external/python/jinja2/utils.py
@@ -639,4 +639,8 @@ def __repr__(self):
# Imported here because that's where it was in the past
-from markupsafe import Markup, escape, soft_unicode
+from markupsafe import Markup, escape
+try:
+ from markupsafe import soft_unicode
+except ImportError:
+ from markupsafe import soft_str as soft_unicode

View File

@ -7,24 +7,7 @@ index c75b145..386494c 100644
find_package(Threads REQUIRED)
-find_package(JsonCpp)
+find_package(jsoncpp CONFIG REQUIRED)
+find_package(JSONCPP NAMES jsoncpp REQUIRED)
### All options defined here
option(BUILD_LOADER "Build loader" ON)
diff --git a/src/loader/CMakeLists.txt b/src/loader/CMakeLists.txt
index 6a88cf4..0821a3d 100644
--- a/src/loader/CMakeLists.txt
+++ b/src/loader/CMakeLists.txt
@@ -68,7 +68,11 @@ add_library(openxr_loader ${LIBRARY_TYPE}
${openxr_loader_RESOURCE_FILE}
)
if(BUILD_WITH_SYSTEM_JSONCPP)
- target_link_libraries(openxr_loader PRIVATE JsonCpp::JsonCpp)
+ if(BUILD_SHARED_LIBS)
+ target_link_libraries(openxr_loader PRIVATE jsoncpp_lib)
+ else()
+ target_link_libraries(openxr_loader PRIVATE jsoncpp_static)
+ endif()
else()
target_sources(openxr_loader
PRIVATE

View File

@ -0,0 +1,14 @@
diff --git a/src/loader/CMakeLists.txt b/src/loader/CMakeLists.txt
index 326f74e..3192e69 100644
--- a/src/loader/CMakeLists.txt
+++ b/src/loader/CMakeLists.txt
@@ -212,7 +212,8 @@ elseif(WIN32)
)
endif()
- if(DYNAMIC_LOADER AND NOT (CMAKE_SYSTEM_NAME STREQUAL "WindowsStore"))
+ if(1) # CRT linkage from vcpkg
+ elseif(0)
# If building DLLs, force static CRT linkage
set_target_properties(
openxr_loader

View File

@ -1,23 +1,25 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/OpenXR-SDK
REF "release-${VERSION}"
SHA512 6efc7596e707f95366dbcdbac9bd7d0c20735a2175b4edf56a9e8a112cf0ab8b664069fe942313164a37119032ddbf5671bc88ab5f276005dd36e4a4dabba1c7
SHA512 cfcabbd130f89d1d46899f3a9a34e9b5d9b21903b6d0fc48c62e233401cf200107a9fa8da926fc0036937a9ed647a2376bee58db925654c41acc7580f8f3a053
HEAD_REF master
PATCHES
fix-openxr-sdk-jsoncpp.patch
msvc-crt.diff
)
file(GLOB gl_headers "${SOURCE_PATH}/external/include/GL/*")
list(REMOVE_ITEM gl_headers "${SOURCE_PATH}/external/include/gl_format.h")
file(REMOVE ${gl_headers})
vcpkg_from_github(
OUT_SOURCE_PATH SDK_SOURCE_PATH
REPO KhronosGroup/OpenXR-SDK-Source
REF "release-${VERSION}"
SHA512 04bdb0f16078209b5edd175a3396f70e1ceb8cfa382c65b8fda388e565480e3844daf68e0d987e72ed8c21d3148af0b41a2170911ec1660565887e0e5ae6d2bf
SHA512 c2cfab927e6ff8a5a7b90360c99192ae9cd598614965fbd4816361b19c5bf25e5524f0e73ce56774e32903addbce8a8dbcb9520203f845421d33cb33f832977b
HEAD_REF master
PATCHES
fix-openxr-sdk-jsoncpp.patch
fix-jinja2.patch
)
vcpkg_from_github(
@ -30,17 +32,7 @@ vcpkg_from_github(
python3_8_compatibility.patch
)
# Weird behavior inside the OpenXR loader. On Windows they force shared libraries to use static crt, and
# vice-versa. Might be better in future iterations to patch the CMakeLists.txt for OpenXR
if (VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_WINDOWS)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
set(DYNAMIC_LOADER OFF)
set(VCPKG_CRT_LINKAGE dynamic)
else()
set(DYNAMIC_LOADER ON)
set(VCPKG_CRT_LINKAGE static)
endif()
endif()
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DYNAMIC_LOADER)
vcpkg_find_acquire_program(PYTHON3)
@ -48,32 +40,32 @@ vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DBUILD_API_LAYERS=OFF
-DBUILD_TESTS=OFF
-DBUILD_CONFORMANCE_TESTS=OFF
-DBUILD_TESTS=OFF
-DCMAKE_INSTALL_INCLUDEDIR=include
-DDYNAMIC_LOADER=${DYNAMIC_LOADER}
-DPYTHON_EXECUTABLE="${PYTHON3}"
-DBUILD_WITH_SYSTEM_JSONCPP=ON
"-DPYTHON_EXECUTABLE=${PYTHON3}"
)
vcpkg_cmake_install()
vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_cmake_config_fixup(PACKAGE_NAME openxr CONFIG_PATH cmake)
else()
vcpkg_cmake_config_fixup(PACKAGE_NAME openxr CONFIG_PATH lib/cmake/openxr)
endif()
# Generate the OpenXR C++ bindings
set(ENV{OPENXR_REPO} "${SDK_SOURCE_PATH}")
vcpkg_execute_required_process(
COMMAND ${PYTHON3} "${HPP_SOURCE_PATH}/scripts/hpp_genxr.py" -quiet -registry "${SDK_SOURCE_PATH}/specification/registry/xr.xml" -o "${CURRENT_PACKAGES_DIR}/include/openxr"
COMMAND "${PYTHON3}" "${HPP_SOURCE_PATH}/scripts/hpp_genxr.py" -quiet -registry "${SDK_SOURCE_PATH}/specification/registry/xr.xml" -o "${CURRENT_PACKAGES_DIR}/include/openxr"
WORKING_DIRECTORY "${HPP_SOURCE_PATH}"
LOGNAME "openxr-hpp"
)
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_cmake_config_fixup(PACKAGE_NAME OpenXR CONFIG_PATH cmake)
else()
vcpkg_cmake_config_fixup(PACKAGE_NAME OpenXR CONFIG_PATH lib/cmake/openxr)
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")

View File

@ -1,12 +1,20 @@
{
"name": "openxr-loader",
"version": "1.0.31",
"version": "1.0.34",
"description": "A royalty-free, open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR)—collectively known as XR—platforms and devices",
"homepage": "https://github.com/KhronosGroup/OpenXR-SDK",
"license": "Apache-2.0",
"supports": "!uwp & !osx",
"dependencies": [
{
"name": "egl",
"platform": "android"
},
"jsoncpp",
{
"name": "opengl",
"platform": "!android & !ios & !osx & !(arm & windows) & !uwp"
},
{
"name": "vcpkg-cmake",
"host": true
@ -19,6 +27,7 @@
"features": {
"vulkan": {
"description": "Vulkan functionality for OpenXR",
"supports": "!(arm & windows) & !uwp",
"dependencies": [
"vulkan"
]

View File

@ -6789,7 +6789,7 @@
"port-version": 0
},
"openxr-loader": {
"baseline": "1.0.31",
"baseline": "1.0.34",
"port-version": 0
},
"optimus-cpp": {

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "7ac79e9eb86bad29f5fc6d3f6f25389df13e5b9f",
"version": "1.0.34",
"port-version": 0
},
{
"git-tree": "a8275bf000597b3d7cd12109347f21552bcd39cc",
"version": "1.0.31",