From 3af1b78f3520cc0cd756cee90c80ee60e70f2aa6 Mon Sep 17 00:00:00 2001 From: PatTheMav Date: Sat, 16 Mar 2024 15:20:23 +0100 Subject: [PATCH] win-dshow: Set MSVC runtime on virtual camera targets directly The MSVC_RUNTIME_LIBRARY property is not propagated to targets which link against a target which has this property set. Thus the property needs to be set on the actual virtualcam targets and not the interface library. --- plugins/win-dshow/virtualcam-module/CMakeLists.txt | 3 ++- plugins/win-dshow/virtualcam-module/cmake/32bit-build.cmake | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/win-dshow/virtualcam-module/CMakeLists.txt b/plugins/win-dshow/virtualcam-module/CMakeLists.txt index f1efdf413..2fe8cb269 100644 --- a/plugins/win-dshow/virtualcam-module/CMakeLists.txt +++ b/plugins/win-dshow/virtualcam-module/CMakeLists.txt @@ -69,7 +69,6 @@ if(OBS_CMAKE_VERSION VERSION_GREATER_EQUAL 3.0.0) virtualcam-module.cpp) target_include_directories(_virtualcam INTERFACE "${CMAKE_CURRENT_BINARY_DIR}") target_compile_definitions(_virtualcam INTERFACE VIRTUALCAM_AVAILABLE) - set_property(TARGET _virtualcam PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") target_link_libraries( _virtualcam @@ -90,6 +89,8 @@ add_library(OBS::virtualcam ALIAS obs-virtualcam-module) target_sources(obs-virtualcam-module PRIVATE cmake/windows/virtualcam-module64.def) target_link_libraries(obs-virtualcam-module PRIVATE _virtualcam) +set_property(TARGET obs-virtualcam-module PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + configure_file(virtualcam-install.bat.in virtualcam-install.bat) target_add_resource(obs-virtualcam-module "${CMAKE_CURRENT_BINARY_DIR}/virtualcam-install.bat" "${OBS_DATA_DESTINATION}/obs-plugins/win-dshow") diff --git a/plugins/win-dshow/virtualcam-module/cmake/32bit-build.cmake b/plugins/win-dshow/virtualcam-module/cmake/32bit-build.cmake index 553658c7e..229c206f1 100644 --- a/plugins/win-dshow/virtualcam-module/cmake/32bit-build.cmake +++ b/plugins/win-dshow/virtualcam-module/cmake/32bit-build.cmake @@ -46,4 +46,6 @@ add_library(OBS::virtualcam ALIAS obs-virtualcam-module) target_sources(obs-virtualcam-module PRIVATE cmake/windows/virtualcam-module32.def) target_link_libraries(obs-virtualcam-module PRIVATE _virtualcam) +set_property(TARGET obs-virtualcam-module PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + set_property(TARGET obs-virtualcam-module PROPERTY OUTPUT_NAME obs-virtualcam-module32)