diff --git a/cmake/modules/FindLibOVR.cmake b/cmake/modules/FindLibOVR.cmake index d107eafde4..e0b93283cd 100644 --- a/cmake/modules/FindLibOVR.cmake +++ b/cmake/modules/FindLibOVR.cmake @@ -23,12 +23,37 @@ else (LIBOVR_LIBRARIES AND LIBOVR_INCLUDE_DIRS) elseif (UNIX) find_library(UDEV_LIBRARY libudev.a /usr/lib/x86_64-linux-gnu/) find_library(XINERAMA_LIBRARY libXinerama.a /usr/lib/x86_64-linux-gnu/) - find_library(OVR_LIBRARY libovr.a "${LIBOVR_ROOT_DIR}/Lib/UNIX/${CMAKE_BUILD_TYPE}/") + + if (CMAKE_CL_64) + set(LINUX_ARCH_DIR "i386") + else() + set(LINUX_ARCH_DIR "x86_64") + endif() + + find_library(OVR_LIBRARY libovr.a "${LIBOVR_ROOT_DIR}/Lib/Linux/${CMAKE_BUILD_TYPE}/${LINUX_ARCH_DIR}/") if (UDEV_LIBRARY AND XINERAMA_LIBRARY AND OVR_LIBRARY) set(LIBOVR_LIBRARIES "${OVR_LIBRARY};${UDEV_LIBRARY};${XINERAMA_LIBRARY}" CACHE INTERNAL "Oculus libraries") endif (UDEV_LIBRARY AND XINERAMA_LIBRARY AND OVR_LIBRARY) elseif (WIN32) - find_library(LIBOVR_LIBRARIES libovr.lib "${LIBOVR_ROOT_DIR}/Lib/Win32/${CMAKE_BUILD_TYPE}/") + if (CMAKE_CL_64) + set(WINDOWS_ARCH_DIR "Win32") + + if (CMAKE_BUILD_TYPE MATCHES DEBUG) + set(WINDOWS_LIBOVR_NAME "libovrd.lib") + else() + set(WINDOWS_LIBOVR_NAME "libovr.lib") + endif() + else() + set(WINDOWS_ARCH_DIR "x64") + + if (CMAKE_BUILD_TYPE MATCHES DEBUG) + set(WINDOWS_LIBOVR_NAME "libovr64d.lib") + else() + set(WINDOWS_LIBOVR_NAME "libovr64.lib") + endif() + endif() + + find_library(LIBOVR_LIBRARIES ${LIBOVR_NAME} "${LIBOVR_ROOT_DIR}/Lib/${WINDOWS_ARCH_DIR}/") endif () if (LIBOVR_INCLUDE_DIRS AND LIBOVR_LIBRARIES)