From 6ee9466c1298a8c016b4c517e70b1e37b0808032 Mon Sep 17 00:00:00 2001
From: jriegel <FreeCAD@juergen-riegel.net>
Date: Fri, 12 Sep 2014 20:14:15 +0200
Subject: [PATCH] Make a new Build option for building VR support and make
 FindRift using the 64bit libs

---
 CMakeLists.txt       | 7 +++++--
 cMake/FindRift.cmake | 8 ++++----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 704f04e9f..08c9243f3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -151,6 +151,7 @@ OPTION(BUILD_SPREADSHEET "Build the FreeCAD spreadsheet module" ON)
 OPTION(BUILD_START "Build the FreeCAD start module" ON)
 OPTION(BUILD_TEST "Build the FreeCAD test module" ON)
 OPTION(BUILD_WEB "Build the FreeCAD web module" ON)
+OPTION(BUILD_VR "Build the FreeCAD Oculus Rift support (need Oculus SDK 4.x or higher)" OFF)
 
 if(MSVC)
 OPTION(FREECAD_USE_3DCONNEXION "Use the 3D connexion SDK to support 3d mouse." ON)
@@ -647,7 +648,9 @@ else(FREECAD_LIBPACK_USE)
 
 endif(FREECAD_LIBPACK_USE)
 
-find_package(Rift)
+if(BUILD_VR)
+    find_package(Rift)
+endif(BUILD_VR)
 
 # copy build convenient files for M$
 if(WIN32)
@@ -682,7 +685,7 @@ IF(MSVC)
 	SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /EHa")
 	SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFC_DEBUG")
 	# set default libs
-	SET (CMAKE_C_STANDARD_LIBRARIES "kernel32.lib user32.lib gdi32.lib winspool.lib SHFolder.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib ")
+	SET (CMAKE_C_STANDARD_LIBRARIES "kernel32.lib user32.lib gdi32.lib winspool.lib SHFolder.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib winmm.lib comsupp.lib Ws2_32.lib dbghelp.lib ")
 	set (CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES}")
 	# set linker flag /nodefaultlib
 	set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB")
diff --git a/cMake/FindRift.cmake b/cMake/FindRift.cmake
index 4a77de575..55dd21b51 100644
--- a/cMake/FindRift.cmake
+++ b/cMake/FindRift.cmake
@@ -44,11 +44,11 @@ IF(OCULUS_ROOT)
   )
   SET(OCULUS_LIBRARY_SEARCH_RELEASE_DIRS 
     ${OCULUS_LIBRARY_SEARCH_DIRS}
-    ${OCULUS_ROOT}/lib/Win32
+    ${OCULUS_ROOT}/Lib/x64/VS2012
   )
   SET(OCULUS_LIBRARY_SEARCH_DEBUG_DIRS 
     ${OCULUS_LIBRARY_SEARCH_DIRS}
-    ${OCULUS_ROOT}/lib/Win32
+    ${OCULUS_ROOT}/Lib/x64/VS2012
   )
 ENDIF()
 
@@ -62,11 +62,11 @@ FIND_PATH(OCULUS_INCLUDE_DIR OVR.h
   PATHS ${OCULUS_INCLUDE_SEARCH_DIRS})
 
 # Search for libraries files (release mode)
-FIND_LIBRARY(OCULUS_LIBRARY_RELEASE libovr
+FIND_LIBRARY(OCULUS_LIBRARY_RELEASE libovr64
   PATHS ${OCULUS_LIBRARY_SEARCH_RELEASE_DIRS})
 
 # Search for libraries files (debug mode)
-FIND_LIBRARY(OCULUS_LIBRARY_DEBUG libovrd
+FIND_LIBRARY(OCULUS_LIBRARY_DEBUG libovr64d
   PATHS ${OCULUS_LIBRARY_SEARCH_DEBUG_DIRS})
 
 # Configure libraries for debug/release