[Bf-blender-cvs] [1548682cde8] soc-2019-openxr: Windows/deps: Add/fix openxr_sdk dependency

Lazydodo noreply at git.blender.org
Tue Aug 20 16:30:40 CEST 2019


Commit: 1548682cde8f0a4835359cc02183edf780f9f5ee
Author: Lazydodo
Date:   Tue Aug 20 08:30:29 2019 -0600
Branches: soc-2019-openxr
https://developer.blender.org/rB1548682cde8f0a4835359cc02183edf780f9f5ee

Windows/deps: Add/fix openxr_sdk dependency

There were a few typos here and there, and the openxr_sdk does not respect the cflags we give it hence a patch was added to work around this undesirable behaviour.

===================================================================

M	build_files/build_environment/cmake/openxr.cmake
M	build_files/build_environment/cmake/versions.cmake
A	build_files/build_environment/patches/openxr_sdk.diff
M	build_files/cmake/platform/platform_win32.cmake

===================================================================

diff --git a/build_files/build_environment/cmake/openxr.cmake b/build_files/build_environment/cmake/openxr.cmake
index 001527c78f1..bf6c068bfc5 100644
--- a/build_files/build_environment/cmake/openxr.cmake
+++ b/build_files/build_environment/cmake/openxr.cmake
@@ -36,19 +36,17 @@ ExternalProject_Add(external_openxr_sdk
   INSTALL_DIR ${LIBDIR}/openxr_sdk
 )
 
-add_dependencies(external_openxr_sdk)
-
 if(WIN32)
   if(BUILD_MODE STREQUAL Release)
     ExternalProject_Add_Step(external_openxr_sdk after_install
       COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openxr_sdk/include/openxr ${HARVEST_TARGET}/openxr_sdk/include/openxr
-      COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openxr_sdk/lib/openxr_loader-*.lib ${HARVEST_TARGET}/openxr_sdk/lib/openxr_loader-*.lib
+      COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openxr_sdk/lib ${HARVEST_TARGET}/openxr_sdk/lib
       DEPENDEES install
     )
   endif()
   if(BUILD_MODE STREQUAL Debug)
     ExternalProject_Add_Step(external_openxr_sdk after_install
-      COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openxr_sdk/lib/openxr_loader-*.lib ${HARVEST_TARGET}/openxr_sdk/lib/openxr_loader-*.lib
+      COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openxr_sdk/lib/openxr_loader-1_0.lib ${HARVEST_TARGET}/openxr_sdk/lib/openxr_loader-1_0_d.lib
       DEPENDEES install
     )
   endif()
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index f73d492f574..862327d83ac 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -308,5 +308,5 @@ set(OIDN_URI https://github.com/OpenImageDenoise/oidn/releases/download/v${OIDN_
 set(OIDN_HASH 19fe67b0164e8f020ac8a4f520defe60)
 
 set(OPENXR_SDK_VERSION 1.0.0)
-set(OPENXR_SDK_URI https://github.com/KhronosGroup/OpenXR-SDK-Source/archive/release-${OPENXR_VERSION}.tar.gz)
-set(OPENXR_SDK_HASH 348912bf9bfaf445ac2974bda19fd0d50496460b)
+set(OPENXR_SDK_URI https://github.com/KhronosGroup/OpenXR-SDK-Source/archive/release-${OPENXR_SDK_VERSION}.tar.gz)
+set(OPENXR_SDK_HASH 260bdc87b5a9b7ef35a540e39f875d79)
diff --git a/build_files/build_environment/patches/openxr_sdk.diff b/build_files/build_environment/patches/openxr_sdk.diff
new file mode 100644
index 00000000000..4239fba4f16
--- /dev/null
+++ b/build_files/build_environment/patches/openxr_sdk.diff
@@ -0,0 +1,28 @@
+diff -Naur orig/src/loader/CMakeLists.txt external_openxr_sdk/src/loader/CMakeLists.txt
+--- orig/src/loader/CMakeLists.txt	2019-07-29 07:06:59 -0600
++++ external_openxr_sdk/src/loader/CMakeLists.txt	2019-08-20 07:56:51 -0600
+@@ -128,24 +128,6 @@
+     configure_file("openxr.pc.in" "openxr.pc" @ONLY)
+     install(FILES "${CMAKE_CURRENT_BINARY_DIR}/openxr.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+-    foreach(configuration in CMAKE_C_FLAGS_DEBUG
+-                             CMAKE_C_FLAGS_RELEASE
+-                             CMAKE_C_FLAGS_RELWITHDEBINFO
+-                             CMAKE_CXX_FLAGS_DEBUG
+-                             CMAKE_CXX_FLAGS_RELEASE
+-                             CMAKE_CXX_FLAGS_RELWITHDEBINFO)
+-        # If building DLLs, force static CRT linkage
+-        if(DYNAMIC_LOADER)
+-            if (${configuration} MATCHES "/MD")
+-                string(REGEX REPLACE "/MD" "/MT" ${configuration} "${${configuration}}")
+-            endif()
+-        else()  # Otherwise for static libs, link the CRT dynamically
+-            if (${configuration} MATCHES "/MT")
+-                string(REGEX REPLACE "/MT" "/MD" ${configuration} "${${configuration}}")
+-            endif()
+-        endif()
+-    endforeach()
+-
+     target_link_libraries(${LOADER_NAME} shlwapi)
+     target_compile_options(${LOADER_NAME} PRIVATE)
+     generate_export_header(${LOADER_NAME})
diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake
index 32a0dd1e383..46a58664b34 100644
--- a/build_files/cmake/platform/platform_win32.cmake
+++ b/build_files/cmake/platform/platform_win32.cmake
@@ -696,8 +696,8 @@ if(WITH_OPENXR)
   if(EXISTS ${LIBDIR}/openxr_sdk)
     set(OPENXR_SDK ${LIBDIR}/openxr_sdk)
     set(OPENXR_SDK_LIBPATH ${LIBDIR}/openxr_sdk/lib)
-    set(OPENXR_SDK_INCLUDE_DIRS ${OPENXR_SDK}/include)
-    set(OPENXR_SDK_LIBRARIES ${OPENXR_SDK_LIBPATH}/openxr_loader-1_0.lib)
+    set(OPENXR_SDK_INCLUDE_DIR ${OPENXR_SDK}/include)
+    set(OPENXR_SDK_LIBRARIES optimized ${OPENXR_SDK_LIBPATH}/openxr_loader-1_0.lib debug ${OPENXR_SDK_LIBPATH}/openxr_loader-1_0_d.lib)
   else()
     message(WARNING "OpenXR-SDK was not found, disabling WITH_OPENXR")
     set(WITH_OPENXR OFF)



More information about the Bf-blender-cvs mailing list