add_library(videocommon AbstractFramebuffer.cpp AbstractFramebuffer.h AbstractShader.h AbstractStagingTexture.cpp AbstractStagingTexture.h AbstractTexture.cpp AbstractTexture.h AsyncRequests.cpp AsyncRequests.h AsyncShaderCompiler.cpp AsyncShaderCompiler.h BoundingBox.cpp BoundingBox.h BPFunctions.cpp BPFunctions.h BPMemory.cpp BPMemory.h BPStructs.cpp BPStructs.h CommandProcessor.cpp CommandProcessor.h ConstantManager.h CPMemory.cpp CPMemory.h DriverDetails.cpp DriverDetails.h Fifo.cpp Fifo.h FPSCounter.cpp FPSCounter.h FramebufferManager.cpp FramebufferManager.h FramebufferShaderGen.cpp FramebufferShaderGen.h FreeLookCamera.cpp FreeLookCamera.h GeometryShaderGen.cpp GeometryShaderGen.h GeometryShaderManager.cpp GeometryShaderManager.h HiresTextures.cpp HiresTextures.h HiresTextures_DDSLoader.cpp IndexGenerator.cpp IndexGenerator.h LightingShaderGen.cpp LightingShaderGen.h LookUpTables.h NativeVertexFormat.h NetPlayChatUI.cpp NetPlayChatUI.h NetPlayGolfUI.cpp NetPlayGolfUI.h OnScreenDisplay.cpp OnScreenDisplay.h OpcodeDecoding.cpp OpcodeDecoding.h PerfQueryBase.cpp PerfQueryBase.h PixelEngine.cpp PixelEngine.h PixelShaderGen.cpp PixelShaderGen.h PixelShaderManager.cpp PixelShaderManager.h PostProcessing.cpp PostProcessing.h RenderBase.cpp RenderBase.h RenderState.cpp RenderState.h SamplerCommon.h ShaderCache.cpp ShaderCache.h ShaderGenCommon.cpp ShaderGenCommon.h Statistics.cpp Statistics.h TextureCacheBase.cpp TextureCacheBase.h TextureConfig.cpp TextureConfig.h TextureConversionShader.cpp TextureConversionShader.h TextureConverterShaderGen.cpp TextureConverterShaderGen.h TextureDecoder.h TextureDecoder_Common.cpp TextureDecoder_Util.h TextureInfo.cpp TextureInfo.h UberShaderCommon.cpp UberShaderCommon.h UberShaderPixel.cpp UberShaderPixel.h UberShaderVertex.cpp UberShaderVertex.h VertexLoader.cpp VertexLoader.h VertexLoaderBase.cpp VertexLoaderBase.h VertexLoaderManager.cpp VertexLoaderManager.h VertexLoaderUtils.h VertexLoader_Color.cpp VertexLoader_Color.h VertexLoader_Normal.cpp VertexLoader_Normal.h VertexLoader_Position.cpp VertexLoader_Position.h VertexLoader_TextCoord.cpp VertexLoader_TextCoord.h VertexManagerBase.cpp VertexManagerBase.h VertexShaderGen.cpp VertexShaderGen.h VertexShaderManager.cpp VertexShaderManager.h VideoBackendBase.cpp VideoBackendBase.h VideoCommon.h VideoConfig.cpp VideoConfig.h VideoState.cpp VideoState.h XFMemory.cpp XFMemory.h XFStructs.cpp XFStructs.h ) target_link_libraries(videocommon PUBLIC core PRIVATE fmt::fmt png xxhash imgui ) if(_M_X86) target_sources(videocommon PRIVATE TextureDecoder_x64.cpp VertexLoaderX64.cpp VertexLoaderX64.h ) elseif(_M_ARM_64) target_sources(videocommon PRIVATE VertexLoaderARM64.cpp VertexLoaderARM64.h TextureDecoder_Generic.cpp ) else() target_sources(videocommon PRIVATE TextureDecoder_Generic.cpp ) endif() if(FFmpeg_FOUND) target_sources(videocommon PRIVATE FrameDump.cpp FrameDump.h ) target_link_libraries(videocommon PRIVATE FFmpeg::avcodec FFmpeg::avformat FFmpeg::avutil FFmpeg::swresample FFmpeg::swscale ) if(APPLE) target_link_libraries(videocommon PRIVATE ${COREMEDIA_LIBRARY} ${VIDEOTOOLBOX_LIBRARY} ${COREVIDEO_LIBRARY} ${AUDIOTOOLBOX_LIBRARY} ) endif() endif()