From 94848d98a2c5d54066f7cfd0f58efa1cc542de8f Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Fri, 8 Dec 2023 06:06:26 -0800 Subject: [PATCH] Pass build type to LibOVR build. This fixes a debug/release mismatch on Windows, which results in a linking error. --- cmake/externals/LibOVR/CMakeLists.txt | 7 ++++++- cmake/externals/LibOVR/LibOVRCMakeLists.txt | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/cmake/externals/LibOVR/CMakeLists.txt b/cmake/externals/LibOVR/CMakeLists.txt index 9e91231625..2ef232ae1f 100644 --- a/cmake/externals/LibOVR/CMakeLists.txt +++ b/cmake/externals/LibOVR/CMakeLists.txt @@ -15,11 +15,16 @@ string(TOUPPER ${EXTERNAL_NAME} EXTERNAL_NAME_UPPER) if (WIN32) + # Note the -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + # It's important that we pass our build type down to other builds we make, especially on Windows. + # On Windows, debug libraries get a 'd' suffix, eg, LibOVRd.lib. This means that a mismatch of build + # types means we'll generate a LibOVRd.lib and the rest of the system will look for LibOVR.lib, or + # viceversa. ExternalProject_Add( ${EXTERNAL_NAME} URL "${EXTERNAL_BUILD_ASSETS}/dependencies/ovr_sdk_win_1.35.0.zip" URL_MD5 1e3e8b2101387af07ff9c841d0ea285e - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} PATCH_COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/LibOVRCMakeLists.txt" /CMakeLists.txt LOG_DOWNLOAD 1 DOWNLOAD_EXTRACT_TIMESTAMP 1 diff --git a/cmake/externals/LibOVR/LibOVRCMakeLists.txt b/cmake/externals/LibOVR/LibOVRCMakeLists.txt index a52cff5463..7740c618f6 100644 --- a/cmake/externals/LibOVR/LibOVRCMakeLists.txt +++ b/cmake/externals/LibOVR/LibOVRCMakeLists.txt @@ -1,6 +1,8 @@ -cmake_minimum_required(VERSION 3.2) +cmake_minimum_required(VERSION 3.20) project(LibOVR) +message(STATUS "Building LibOVR for ${CMAKE_BUILD_TYPE} configuration") + include_directories(LibOVR/Include LibOVR/Src) file(GLOB HEADER_FILES LibOVR/Include/*.h) file(GLOB EXTRA_HEADER_FILES LibOVR/Include/Extras/*.h)