diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a2ed17c1a..73b0a8ce8a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -78,9 +78,6 @@ cmake_dependent_option(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSV # non-linux bundled qt are static if (YUZU_USE_BUNDLED_QT AND (APPLE OR NOT UNIX)) set(YUZU_STATIC_BUILD ON) - if (MSVC AND ARCHITECTURE_arm64) - set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded) - endif() endif() # TODO: does mingw need any of this anymore @@ -693,20 +690,26 @@ endif() # Set runtime library to MD/MDd for all configurations if(MSVC) - set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") + if (YUZU_USE_BUNDLED_QT AND ARCHITECTURE_arm64) + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + set(libflag MT) + else() + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") + set(libflag MD) + endif() # Force all projects (including external dependencies) to use the same runtime - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MD") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MDd") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /${libflag}") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /${libflag}d") + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /${libflag}") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /${libflag}d") # Add this to ensure Cubeb uses the same runtime add_compile_options( - $<$:/MDd> - $<$:/MD> - $<$:/MD> - $<$:/MD> + $<$:/${libflag}d> + $<$:/${libflag}> + $<$:/${libflag}> + $<$:/${libflag}> ) endif()