File: 0009-On-Linux-make-the-API-layer-manifest-have-an-absolut.patch

package info (click to toggle)
openxr-sdk-source 1.1.47~ds-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 17,804 kB
  • sloc: cpp: 63,078; python: 20,501; xml: 15,759; ansic: 6,418; sh: 910; makefile: 426; ruby: 386
file content (74 lines) | stat: -rw-r--r-- 2,956 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
From: Rylie Pavlik <rylie.pavlik@collabora.com>
Date: Fri, 13 Dec 2019 16:01:07 -0600
Subject: Make the API layer manifest have an absolute install path

Signed-off-by: Rylie Pavlik <rylie.pavlik@collabora.com>
Updated: 2024-12-06
---
 src/api_layers/CMakeLists.txt | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/src/api_layers/CMakeLists.txt b/src/api_layers/CMakeLists.txt
index 8b098a7..04f23ad 100644
--- a/src/api_layers/CMakeLists.txt
+++ b/src/api_layers/CMakeLists.txt
@@ -31,6 +31,9 @@ foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
     )
 endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES)
 
+set(LAYER_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/openxr/${MAJOR}/api_layers)
+set(LAYER_INSTALL_DIR_ABS ${CMAKE_INSTALL_PREFIX}/${LAYER_INSTALL_DIR})
+
 # Copy the api_layer_platform_defines.h file and place it in the binary (build) directory.
 configure_file(
     api_layer_platform_defines.h ${CMAKE_CURRENT_BINARY_DIR} COPYONLY
@@ -285,6 +288,15 @@ else()
         XrApiLayer_api_dump
         PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/XrApiLayer_api_dump.map"
     )
+    gen_xr_layer_json(
+        ${CMAKE_CURRENT_BINARY_DIR}/XrApiLayer_api_dump_installed.json
+        LUNARG_api_dump
+        ${LAYER_INSTALL_DIR_ABS}/$<TARGET_FILE_NAME:XrApiLayer_api_dump>
+        1
+        "API Layer to record api calls as they occur"
+        ""
+    )
+    target_sources(XrApiLayer_api_dump PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/XrApiLayer_api_dump_installed.json)
 
     # XrApiLayer_core_validation
     set_target_properties(
@@ -297,6 +309,15 @@ else()
         XrApiLayer_core_validation
         PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/XrApiLayer_core_validation.map"
     )
+    gen_xr_layer_json(
+        ${CMAKE_CURRENT_BINARY_DIR}/XrApiLayer_core_validation_installed.json
+        LUNARG_core_validation
+        ${LAYER_INSTALL_DIR_ABS}/$<TARGET_FILE_NAME:XrApiLayer_core_validation>
+        1
+        "API Layer to perform validation of api calls and parameters as they occur"
+        ""
+    )
+    target_sources(XrApiLayer_core_validation PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/XrApiLayer_core_validation_installed.json)
 endif()
 
 # Install explicit layers
@@ -304,14 +325,15 @@ set(TARGET_NAMES XrApiLayer_api_dump XrApiLayer_core_validation)
 if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
     foreach(TARGET_NAME ${TARGET_NAMES})
         install(
-            FILES "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}.json"
+            FILES "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}_installed.json"
             DESTINATION
                 "${CMAKE_INSTALL_DATAROOTDIR}/openxr/${MAJOR}/api_layers/explicit.d"
+            RENAME ${TARGET_NAME}.json
             COMPONENT Layers
         )
         install(
             TARGETS ${TARGET_NAME}
-            DESTINATION ${CMAKE_INSTALL_LIBDIR}
+            DESTINATION ${LAYER_INSTALL_DIR}
             COMPONENT Layers
         )
     endforeach()