From 09a67949ed475e82df5a31fee00f6a2c3c3eb0c5 Mon Sep 17 00:00:00 2001 From: bjorn Date: Tue, 11 Sep 2018 15:47:03 -0700 Subject: [PATCH] Improve CMake and build for LibOVR; --- CMakeLists.txt | 19 ++++++++++++++++--- src/headset/headset.c | 2 ++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bbf06320..7301afaa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -225,10 +225,23 @@ if(NOT EMSCRIPTEN) ) endif() -# Oculus +# Oculus SDK if (NOT EMSCRIPTEN AND LOVR_OCULUS_PATH) + if(CMAKE_BUILD_TYPE STREQUAL "Release") + set(OCULUS_BUILD_TYPE "Release") + else() + set(OCULUS_BUILD_TYPE "Debug") + endif() + + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(OCULUS_ARCH "x64") + else() + set(OCULUS_ARCH "Win32") + endif() + + add_definitions(-DUSE_OCULUS) include_directories("${LOVR_OCULUS_PATH}/LibOVR/Include") - link_directories("${LOVR_OCULUS_PATH}/LibOVR/Lib/Windows/Win32/Debug/VS2017") + link_directories("${LOVR_OCULUS_PATH}/LibOVR/Lib/Windows/${OCULUS_ARCH}/${OCULUS_BUILD_TYPE}/VS2017") set(LOVR_OCULUS LibOVR) endif() @@ -334,7 +347,7 @@ if(EMSCRIPTEN) else() set(LOVR_SRC ${LOVR_SRC} src/headset/openvr.c) - if (LOVR_OCULUS_PATH) + if(LOVR_OCULUS_PATH) set(LOVR_SRC ${LOVR_SRC} src/headset/oculus.c) endif() endif() diff --git a/src/headset/headset.c b/src/headset/headset.c index 4fa8a663..6304b4ac 100644 --- a/src/headset/headset.c +++ b/src/headset/headset.c @@ -14,7 +14,9 @@ void lovrHeadsetInit(HeadsetDriver* drivers, int count, float offset, int msaa) switch (drivers[i]) { case DRIVER_FAKE: interface = &lovrHeadsetFakeDriver; break; #ifndef EMSCRIPTEN +#ifdef USE_OCULUS case DRIVER_OCULUS: interface = &lovrHeadsetOculusDriver; break; +#endif case DRIVER_OPENVR: interface = &lovrHeadsetOpenVRDriver; break; #else case DRIVER_WEBVR: interface = &lovrHeadsetWebVRDriver; break;