浏览代码

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.
PatTheMav 1 年之前
父节点
当前提交
3af1b78f35

+ 2 - 1
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$<$<CONFIG:Debug>: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$<$<CONFIG:Debug>: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")

+ 2 - 0
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$<$<CONFIG:Debug>:Debug>")
+
 set_property(TARGET obs-virtualcam-module PROPERTY OUTPUT_NAME obs-virtualcam-module32)