From c4c6cf82a2fd9676ad410dd24c755650f9e2972d Mon Sep 17 00:00:00 2001 From: Bradley Austin Davis Date: Tue, 31 Mar 2015 13:27:11 -0700 Subject: [PATCH] Working on migration to SDK 0.5.0.1 --- cmake/externals/LibOVR/CMakeLists.txt | 75 ++++++++++++++----------- interface/src/devices/OculusManager.cpp | 4 +- interface/src/devices/OculusManager.h | 1 - 3 files changed, 42 insertions(+), 38 deletions(-) diff --git a/cmake/externals/LibOVR/CMakeLists.txt b/cmake/externals/LibOVR/CMakeLists.txt index 176cc3c89b..d24c1771d1 100644 --- a/cmake/externals/LibOVR/CMakeLists.txt +++ b/cmake/externals/LibOVR/CMakeLists.txt @@ -24,12 +24,17 @@ if (WIN32) set(${EXTERNAL_NAME_UPPER}_LIBRARY_DEBUG ${SOURCE_DIR}/LibOVR/Lib/Win32/VS2013/libovrd.lib CACHE TYPE INTERNAL) set(${EXTERNAL_NAME_UPPER}_LIBRARY_EXTRAS setupapi winmm ws2_32) + select_library_configurations(${EXTERNAL_NAME_UPPER}) + + set(${EXTERNAL_NAME_UPPER}_INCLUDE_DIRS ${SOURCE_DIR}/LibOVR/Include ${SOURCE_DIR}/LibOVR/Src CACHE TYPE INTERNAL) + set(${EXTERNAL_NAME_UPPER}_LIBRARIES ${${EXTERNAL_NAME_UPPER}_LIBRARY} ${${EXTERNAL_NAME_UPPER}_LIBRARY_EXTRAS} CACHE TYPE INTERNAL) + elseif(APPLE) ExternalProject_Add( ${EXTERNAL_NAME} - URL http://static.oculus.com/sdk-downloads/ovr_sdk_macos_0.4.4.tar.gz - URL_MD5 3cf8576d225798608a2aa7219b7ea11e + URL http://static.oculus.com/sdk-downloads/ovr_sdk_macos_0.5.0.1.tar.gz + URL_MD5 0a0785a04fb285f64f62267388344ad6 CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" @@ -37,47 +42,49 @@ elseif(APPLE) ) ExternalProject_Get_Property(${EXTERNAL_NAME} SOURCE_DIR) + # In theory we should use the Headers path inside the framework, as seen here + # but unfortunately Oculus doesn't seem to have figured out automated testing + # so they released a framework with missing headers. + #set(${EXTERNAL_NAME_UPPER}_INCLUDE_DIRS ${SOURCE_DIR}/LibOVR/Lib/Mac/Release/LibOVR.framework/Headers/ CACHE TYPE INTERNAL) + + # Work around the broken framework by using a different path for the headers. + set(${EXTERNAL_NAME_UPPER}_INCLUDE_DIRS ${SOURCE_DIR}/LibOVR/Include CACHE TYPE INTERNAL) + set(${EXTERNAL_NAME_UPPER}_LIBRARIES ${SOURCE_DIR}/LibOVR/Lib/Mac/Release/LibOVR.framework/LibOVR CACHE TYPE INTERNAL) - set(${EXTERNAL_NAME_UPPER}_LIBRARY_RELEASE ${SOURCE_DIR}/LibOVR/Lib/Mac/Release/libovr.a CACHE TYPE INTERNAL) - set(${EXTERNAL_NAME_UPPER}_LIBRARY_DEBUG ${SOURCE_DIR}/LibOVR/Lib/Mac/Debug/libovr.a CACHE TYPE INTERNAL) - find_library(COCOA_LIBRARY Cocoa) - find_library(IOKIT_LIBRARY IOKit) - set(${EXTERNAL_NAME_UPPER}_LIBRARY_EXTRAS ${COCOA_LIBRARY} ${IOKIT_LIBRARY}) elseif(NOT ANDROID) - # http://static.oculus.com/sdk-downloads/ovr_sdk_linux_0.4.4.tar.xz - # ec3bd8cff4a1461b4e21210e7feb0572 - ExternalProject_Add( - ${EXTERNAL_NAME} - PREFIX ${EXTERNAL_NAME} - GIT_REPOSITORY https://github.com/jherico/OculusSDK.git - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= - LOG_DOWNLOAD ON - ) - - - ExternalProject_Get_Property(${EXTERNAL_NAME} SOURCE_DIR) - ExternalProject_Get_Property(${EXTERNAL_NAME} INSTALL_DIR) + # http://static.oculus.com/sdk-downloads/ovr_sdk_linux_0.4.4.tar.xz + # ec3bd8cff4a1461b4e21210e7feb0572 + ExternalProject_Add( + ${EXTERNAL_NAME} + PREFIX ${EXTERNAL_NAME} + GIT_REPOSITORY https://github.com/jherico/OculusSDK.git + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= + LOG_DOWNLOAD ON + ) + + ExternalProject_Get_Property(${EXTERNAL_NAME} SOURCE_DIR) + ExternalProject_Get_Property(${EXTERNAL_NAME} INSTALL_DIR) - set(${EXTERNAL_NAME_UPPER}_LIBRARY_RELEASE ${INSTALL_DIR}/lib/libovr.a CACHE TYPE INTERNAL) - set(${EXTERNAL_NAME_UPPER}_LIBRARY_DEBUG "" CACHE TYPE INTERNAL) + set(${EXTERNAL_NAME_UPPER}_LIBRARY_RELEASE ${INSTALL_DIR}/lib/libovr.a CACHE TYPE INTERNAL) + set(${EXTERNAL_NAME_UPPER}_LIBRARY_DEBUG "" CACHE TYPE INTERNAL) - find_package(Threads REQUIRED) - find_package(X11 REQUIRED) + find_package(Threads REQUIRED) + find_package(X11 REQUIRED) - # Check for XRandR (modern resolution switching and gamma control) - if (NOT X11_Xrandr_FOUND) - message(FATAL_ERROR "The RandR library and headers were not found") - endif() + # Check for XRandR (modern resolution switching and gamma control) + if (NOT X11_Xrandr_FOUND) + message(FATAL_ERROR "The RandR library and headers were not found") + endif() - set(${EXTERNAL_NAME_UPPER}_LIBRARY_EXTRAS rt udev ${CMAKE_THREAD_LIBS_INIT} ${X11_X11_LIB} ${X11_Xrandr_LIB}) - + set(${EXTERNAL_NAME_UPPER}_LIBRARY_EXTRAS rt udev ${CMAKE_THREAD_LIBS_INIT} ${X11_X11_LIB} ${X11_Xrandr_LIB}) + + select_library_configurations(${EXTERNAL_NAME_UPPER}) + + set(${EXTERNAL_NAME_UPPER}_INCLUDE_DIRS ${SOURCE_DIR}/LibOVR/Include ${SOURCE_DIR}/LibOVR/Src CACHE TYPE INTERNAL) + set(${EXTERNAL_NAME_UPPER}_LIBRARIES ${${EXTERNAL_NAME_UPPER}_LIBRARY} ${${EXTERNAL_NAME_UPPER}_LIBRARY_EXTRAS} CACHE TYPE INTERNAL) endif() -select_library_configurations(${EXTERNAL_NAME_UPPER}) - -set(${EXTERNAL_NAME_UPPER}_INCLUDE_DIRS ${SOURCE_DIR}/LibOVR/Include ${SOURCE_DIR}/LibOVR/Src CACHE TYPE INTERNAL) -set(${EXTERNAL_NAME_UPPER}_LIBRARIES ${${EXTERNAL_NAME_UPPER}_LIBRARY} ${${EXTERNAL_NAME_UPPER}_LIBRARY_EXTRAS} CACHE TYPE INTERNAL) diff --git a/interface/src/devices/OculusManager.cpp b/interface/src/devices/OculusManager.cpp index 9d7ea8f782..16dccf61a1 100644 --- a/interface/src/devices/OculusManager.cpp +++ b/interface/src/devices/OculusManager.cpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include @@ -29,7 +29,6 @@ #include #include -#include #include #include "Application.h" @@ -125,7 +124,6 @@ void OculusManager::connect() { cfg.OGL.Header.Multisample = 1; int distortionCaps = 0 - | ovrDistortionCap_Chromatic | ovrDistortionCap_Vignette | ovrDistortionCap_Overdrive | ovrDistortionCap_TimeWarp; diff --git a/interface/src/devices/OculusManager.h b/interface/src/devices/OculusManager.h index 289db38ada..bc85c33981 100644 --- a/interface/src/devices/OculusManager.h +++ b/interface/src/devices/OculusManager.h @@ -13,7 +13,6 @@ #ifndef hifi_OculusManager_h #define hifi_OculusManager_h -#include #include #include