mirror of
https://github.com/86Box/86Box.git
synced 2026-02-23 09:58:19 -07:00
238 lines
5.5 KiB
CMake
238 lines
5.5 KiB
CMake
#
|
|
# 86Box A hypervisor and IBM PC system emulator that specializes in
|
|
# running old operating systems and software designed for IBM
|
|
# PC systems and compatibles from 1981 through fairly recent
|
|
# system designs based on the PCI bus.
|
|
#
|
|
# This file is part of the 86Box distribution.
|
|
#
|
|
# CMake build script.
|
|
#
|
|
# Authors: David Hrdlička, <hrdlickadavid@outlook.com>
|
|
#
|
|
# Copyright 2020-2021 David Hrdlička.
|
|
# Copyright 2025 Connor Hyde / starfrost
|
|
#
|
|
|
|
add_library(vid OBJECT
|
|
|
|
# Video Core
|
|
agpgart.c
|
|
video.c
|
|
vid_table.c
|
|
|
|
# RAMDAC (Should this be its own library?)
|
|
ramdac/vid_ramdac_ati68860.c
|
|
ramdac/vid_ramdac_ati68875.c
|
|
ramdac/vid_ramdac_att20c49x.c
|
|
ramdac/vid_ramdac_att2xc498.c
|
|
ramdac/vid_ramdac_bt48x.c
|
|
ramdac/vid_ramdac_bt481.c
|
|
ramdac/vid_ramdac_ibm_rgb528.c
|
|
ramdac/vid_ramdac_sc1148x.c
|
|
ramdac/vid_ramdac_sc1502x.c
|
|
ramdac/vid_ramdac_sdac.c
|
|
ramdac/vid_ramdac_stg1702.c
|
|
ramdac/vid_ramdac_tkd8001.c
|
|
ramdac/vid_ramdac_tvp3026.c
|
|
|
|
# Clock generator chips
|
|
clockgen/vid_clockgen_av9194.c
|
|
clockgen/vid_clockgen_icd2061.c
|
|
clockgen/vid_clockgen_ics2494.c
|
|
clockgen/vid_clockgen_ics2595.c
|
|
|
|
# DDC / monitor identification stuff
|
|
vid_ddc.c
|
|
vid_ddc_edid_custom.c
|
|
|
|
# CARDS start here
|
|
|
|
# CGA / Super CGA
|
|
vid_cga.c
|
|
vid_cga_comp.c
|
|
vid_cga_compaq.c
|
|
vid_cga_compaq_plasma.c
|
|
vid_cga_colorplus.c
|
|
vid_cga_ncr.c
|
|
vid_cga_olivetti.c
|
|
vid_cga_quadcolor.c
|
|
vid_cga_toshiba_t1000.c
|
|
vid_cga_toshiba_t3100e.c
|
|
vid_cga_v6355.c
|
|
|
|
# PCJr/Tandy
|
|
vid_pcjr.c
|
|
vid_tandy.c
|
|
vid_mda.c
|
|
|
|
# Hercules
|
|
vid_hercules.c
|
|
vid_hercules_plus.c
|
|
vid_hercules_incolor.c
|
|
|
|
# Other early CGA-era cards
|
|
vid_genius.c
|
|
vid_sigma.c
|
|
|
|
# PGC / IM1024 / WY700 high-resolution
|
|
vid_pgc.c
|
|
vid_im1024.c
|
|
vid_wy700.c
|
|
|
|
# EGA
|
|
vid_ega.c
|
|
vid_ega_render.c
|
|
vid_jega.c
|
|
|
|
# (Real IBM) VGA
|
|
vid_vga.c
|
|
|
|
# Super VGA core
|
|
vid_svga.c
|
|
vid_svga_render.c
|
|
|
|
# 8514/A, XGA and derivatives
|
|
vid_8514a.c
|
|
vid_xga.c
|
|
vid_ps55da2.c
|
|
|
|
# ATI Technologies
|
|
vid_ati_eeprom.c
|
|
vid_ati18800.c
|
|
vid_ati28800.c
|
|
vid_ati_mach8.c
|
|
vid_ati_mach64.c
|
|
|
|
# Chips & Technologies
|
|
vid_chips_69000.c
|
|
|
|
# Cirrus Logic
|
|
vid_cl54xx.c
|
|
|
|
# Tseng Labs
|
|
vid_et3000.c
|
|
vid_et4000.c
|
|
vid_et4000w32.c
|
|
|
|
# Headland
|
|
vid_ht216.c
|
|
vid_oak_oti.c
|
|
|
|
# Paradise
|
|
vid_paradise.c
|
|
vid_rtg310x.c
|
|
vid_f82c425.c
|
|
vid_ti_cf62011.c
|
|
|
|
# Trident
|
|
vid_tvga.c
|
|
vid_tgui9440.c
|
|
|
|
# S3 Graphics
|
|
vid_s3.c
|
|
vid_s3_virge.c
|
|
|
|
# Matrox
|
|
vid_mga.c
|
|
|
|
# NVidia - Core
|
|
nv/nv_base.c
|
|
nv/nv_rivatimer.c
|
|
|
|
# NVidia NV1
|
|
nv/nv1/nv1_core.c
|
|
nv/nv1/nv1_core_config.c
|
|
|
|
# NVidia RIVA 128 - Subsystems
|
|
nv/nv3/nv3_core.c
|
|
nv/nv3/nv3_core_config.c
|
|
nv/nv3/nv3_core_arbiter.c
|
|
|
|
nv/nv3/subsystems/nv3_pramdac.c
|
|
nv/nv3/subsystems/nv3_pfifo.c
|
|
nv/nv3/subsystems/nv3_pgraph.c
|
|
nv/nv3/subsystems/nv3_pmc.c
|
|
nv/nv3/subsystems/nv3_pme.c
|
|
nv/nv3/subsystems/nv3_pextdev.c
|
|
nv/nv3/subsystems/nv3_pfb.c
|
|
nv/nv3/subsystems/nv3_pbus.c
|
|
nv/nv3/subsystems/nv3_pbus_dma.c
|
|
nv/nv3/subsystems/nv3_ptimer.c
|
|
nv/nv3/subsystems/nv3_pramin.c
|
|
nv/nv3/subsystems/nv3_pramin_ramht.c
|
|
nv/nv3/subsystems/nv3_pramin_ramfc.c
|
|
nv/nv3/subsystems/nv3_pramin_ramro.c
|
|
nv/nv3/subsystems/nv3_pvideo.c
|
|
nv/nv3/subsystems/nv3_user.c
|
|
|
|
# NVidia RIVA 128 - Object Classes
|
|
nv/nv3/classes/nv3_class_names.c
|
|
nv/nv3/classes/nv3_class_shared_methods.c
|
|
nv/nv3/classes/nv3_class_001_beta_factor.c
|
|
nv/nv3/classes/nv3_class_002_rop.c
|
|
nv/nv3/classes/nv3_class_003_chroma_key.c
|
|
nv/nv3/classes/nv3_class_004_plane_mask.c
|
|
nv/nv3/classes/nv3_class_005_clipping_rectangle.c
|
|
nv/nv3/classes/nv3_class_006_pattern.c
|
|
nv/nv3/classes/nv3_class_007_rectangle.c
|
|
nv/nv3/classes/nv3_class_008_point.c
|
|
nv/nv3/classes/nv3_class_009_line.c
|
|
nv/nv3/classes/nv3_class_00a_lin.c
|
|
nv/nv3/classes/nv3_class_00b_triangle.c
|
|
nv/nv3/classes/nv3_class_00c_win95_gdi_text.c
|
|
nv/nv3/classes/nv3_class_00d_m2mf.c
|
|
nv/nv3/classes/nv3_class_00e_scaled_image_from_mem.c
|
|
nv/nv3/classes/nv3_class_010_blit.c
|
|
nv/nv3/classes/nv3_class_011_image.c
|
|
nv/nv3/classes/nv3_class_012_bitmap.c
|
|
nv/nv3/classes/nv3_class_014_transfer2memory.c
|
|
nv/nv3/classes/nv3_class_015_stretched_image_from_cpu.c
|
|
nv/nv3/classes/nv3_class_017_d3d5_tri_zeta_buffer.c
|
|
nv/nv3/classes/nv3_class_018_point_zeta_buffer.c
|
|
nv/nv3/classes/nv3_class_01c_image_in_memory.c
|
|
|
|
# NVidia RIVA 128 - Render
|
|
nv/nv3/render/nv3_render_core.c
|
|
nv/nv3/render/nv3_render_primitives.c
|
|
nv/nv3/render/nv3_render_blit.c
|
|
|
|
# NVidia RIVA TNT/TNT2 - Core
|
|
nv/nv4/nv4_core.c
|
|
nv/nv4/nv4_core_config.c
|
|
|
|
# Generic
|
|
vid_bochs_vbe.c
|
|
)
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
|
target_include_directories(vid PRIVATE /usr/local/include)
|
|
endif()
|
|
|
|
if(G100)
|
|
target_compile_definitions(vid PRIVATE USE_G100)
|
|
endif()
|
|
|
|
if(XL24)
|
|
target_compile_definitions(vid PRIVATE USE_XL24)
|
|
endif()
|
|
|
|
# 3Dfx Voodoo
|
|
add_library(voodoo OBJECT
|
|
vid_voodoo.c
|
|
vid_voodoo_banshee.c
|
|
vid_voodoo_banshee_blitter.c
|
|
vid_voodoo_blitter.c
|
|
vid_voodoo_display.c
|
|
vid_voodoo_fb.c
|
|
vid_voodoo_fifo.c
|
|
vid_voodoo_reg.c
|
|
vid_voodoo_render.c
|
|
vid_voodoo_setup.c
|
|
vid_voodoo_texture.c
|
|
)
|
|
|
|
if(NOT MSVC AND (ARCH STREQUAL "i386" OR ARCH STREQUAL "x86_64"))
|
|
target_compile_options(voodoo PRIVATE "-msse2")
|
|
endif()
|