[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