set(SRCS audio.cpp audio.h audio_stream.cpp audio_stream.h bitfield.h cd_image.cpp cd_image.h cd_xa.cpp cd_xa.h display.cpp display.h display_renderer.cpp display_renderer.h display_timing.cpp display_timing.h fastjmp.h gl_program.cpp gl_program.h gl_texture.cpp gl_texture.h hdd_image.cpp hdd_image.h jit_code_buffer.cpp jit_code_buffer.h object.cpp object.h object_type_info.cpp object_type_info.h property.cpp property.h state_wrapper.cpp state_wrapper.h types.h type_registry.h ) add_library(common ${SRCS}) target_include_directories(common PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..") target_include_directories(common PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..") target_link_libraries(common YBaseLib glad libsamplerate libcue Threads::Threads) if(ENABLE_OPENGL) target_sources(common PRIVATE display_renderer_gl.cpp display_renderer_gl.h) target_link_libraries(common glad) endif() if(MSVC) target_sources(common PRIVATE display_renderer_d3d.cpp display_renderer_d3d.h) target_link_libraries(common d3d11.lib) endif() if(MSVC) enable_language(ASM_MASM) if(CMAKE_ASM_MASM_COMPILER_WORKS) target_sources(common PRIVATE fastjmp.asm) else() message(ERROR "MASM assembler does not work") endif() endif()