diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 931dc387ad081a77bc71696ffd857dce153e9c19..30514de41c5a7d803c61d6ff44eadd558e268643 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,7 +6,7 @@
 
 variables:
   GIT_SUBMODULE_STRATEGY: recursive
-  CMAKE_ARGS_WINDOWS: '-DCMAKE_GENERATOR_PLATFORM=x64 -DPORTAUDIO_DIR="D:/Build/portaudio" -DNVPIPE_DIR="D:/Build/NvPipe" -DEigen3_DIR="C:/Program Files (x86)/Eigen3/share/eigen3/cmake" -DOpenCV_DIR="D:/Build/opencv-4.1.1" -DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1"'
+  CMAKE_ARGS_WINDOWS: '-DCMAKE_GENERATOR_PLATFORM=x64 -DPORTAUDIO_DIR="D:/Build/portaudio" -DNVPIPE_DIR="D:/Build/NvPipe" -DEigen3_DIR="C:/Program Files (x86)/Eigen3/share/eigen3/cmake" -DOpenCV_DIR="D:/Build/opencv-4.1.1" -DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1" -DWITH_OPENVR=TRUE -DOPENVR_DIR="D:/Build/OpenVRSDK"'
 
 stages:
  - all
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 879eb9c9bc6039c2c11858e21290ad80d5cd45b2..46783116d8b5670caf45b5fb317b81dcd79c2323 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -65,20 +65,51 @@ endif()
 #	set(HAVE_LIBARCHIVE true)
 #endif()
 
-if (WITH_OPENVR)
+#if (WITH_OPENVR)
 	## OpenVR API path
-	find_library(OPENVR_LIBRARIES
-		NAMES
-			openvr_api
-	)
-	set(OPENVR_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../headers)
-
-	if (OPENVR_LIBRARIES)
-		message(STATUS "Found OpenVR: ${OPENVR_LIBRARIES}")
-		set(HAVE_OPENVR true)
+#	find_library(OPENVR_LIBRARIES
+#		NAMES
+#			openvr_api
+#	)
+#	set(OPENVR_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../headers)
+#
+#	if (OPENVR_LIBRARIES)
+#		message(STATUS "Found OpenVR: ${OPENVR_LIBRARIES}")
+#		set(HAVE_OPENVR true)
+#	endif()
+#endif()
+
+# ============== OPEN VR =======================================================
+
+if (WITH_OPENVR)
+	find_library( OPENVR_LIBRARY NAMES openvr_api libopenvr_api openvr_api64 PATHS ${OPENVR_DIR} PATH_SUFFIXES lib)
+	if (OPENVR_LIBRARY)
+		set(HAVE_OPENVR TRUE)
+		add_library(openvr UNKNOWN IMPORTED)
+		#set_property(TARGET nanogui PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${NANOGUI_EXTRA_INCS})
+		set_property(TARGET openvr PROPERTY IMPORTED_LOCATION ${OPENVR_LIBRARY})
+		message(STATUS "Found OpenVR: ${OPENVR_LIBRARY}")
+
+		if(WIN32)
+			# Find include
+			find_path(OPENVR_INCLUDE_DIRS
+				NAMES openvr/openvr.h
+				PATHS "C:/Program Files/OpenVRSDK" "C:/Program Files (x86)/OpenVRSDK" ${OPENVR_DIR}
+				PATH_SUFFIXES include
+			)
+			set_property(TARGET openvr PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${OPENVR_INCLUDE_DIRS})
+		endif()
+	else()
+		set(OPENVR_LIBRARY "")
+		add_library(openvr INTERFACE)
 	endif()
+else()
+	set(OPENVR_LIBRARY "")
+	add_library(openvr INTERFACE)
 endif()
 
+# ==============================================================================
+
 if (WITH_FIXSTARS)
 	find_package( LibSGM )
 	if (LibSGM_FOUND)
diff --git a/applications/gui/CMakeLists.txt b/applications/gui/CMakeLists.txt
index 02402d2e96ba805ac789d324166dec4140bc4512..a30525ddc67d057d1a64ddb17c1e85901e5b6259 100644
--- a/applications/gui/CMakeLists.txt
+++ b/applications/gui/CMakeLists.txt
@@ -40,6 +40,6 @@ target_include_directories(ftl-gui PUBLIC
 #endif()
 
 #target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include)
-target_link_libraries(ftl-gui ftlcommon ftlctrl ftlrgbd ftlstreams ftlrender Threads::Threads ${OpenCV_LIBS} ${OPENVR_LIBRARIES} glog::glog ftlnet nanogui ${NANOGUI_EXTRA_LIBS})
+target_link_libraries(ftl-gui ftlcommon ftlctrl ftlrgbd ftlstreams ftlrender Threads::Threads ${OpenCV_LIBS} openvr ftlnet nanogui ${NANOGUI_EXTRA_LIBS})