project(libobs-d3d11) add_library(libobs-d3d11 MODULE) add_library(OBS::libobs-d3d11 ALIAS libobs-d3d11) target_sources( libobs-d3d11 PRIVATE d3d11-indexbuffer.cpp d3d11-samplerstate.cpp d3d11-shader.cpp d3d11-shaderprocessor.cpp d3d11-shaderprocessor.hpp d3d11-stagesurf.cpp d3d11-subsystem.cpp d3d11-subsystem.hpp d3d11-texture2d.cpp d3d11-texture3d.cpp d3d11-vertexbuffer.cpp d3d11-duplicator.cpp d3d11-rebuild.cpp d3d11-zstencilbuffer.cpp) set(MODULE_DESCRIPTION "OBS Library D3D11 wrapper") configure_file(${CMAKE_SOURCE_DIR}/cmake/bundle/windows/obs-module.rc.in libobs-d3d11.rc) target_include_directories(libobs-d3d11 PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) target_sources(libobs-d3d11 PRIVATE libobs-d3d11.rc) target_compile_features(libobs-d3d11 PRIVATE cxx_std_17) target_compile_definitions( libobs-d3d11 PRIVATE UNICODE _UNICODE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS) if(NOT DEFINED GPU_PRIORITY_VAL OR "x${GPU_PRIORITY_VAL}x" STREQUAL "xx" OR "${GPU_PRIORITY_VAL}" STREQUAL "0") target_compile_definitions(libobs-d3d11 PRIVATE USE_GPU_PRIORITY=FALSE GPU_PRIORITY_VAL=0) else() target_compile_definitions( libobs-d3d11 PRIVATE USE_GPU_PRIORITY=TRUE GPU_PRIORITY_VAL=${GPU_PRIORITY_VAL}) endif() target_link_libraries(libobs-d3d11 PRIVATE OBS::libobs d3d9 d3d11 dxgi) set_target_properties( libobs-d3d11 PROPERTIES OUTPUT_NAME libobs-d3d11 FOLDER "core" PREFIX "") setup_binary_target(libobs-d3d11)