One line per file in CmakeLists.txt

This commit is contained in:
Jasmine Iwanek
2024-09-04 18:34:06 -04:00
parent 581cbcb0c6
commit f4b63caf0b
22 changed files with 621 additions and 169 deletions

View File

@@ -1,16 +1,17 @@
# #
# 86Box A hypervisor and IBM PC system emulator that specializes in # 86Box A hypervisor and IBM PC system emulator that specializes in
# running old operating systems and software designed for IBM # running old operating systems and software designed for IBM
# PC systems and compatibles from 1981 through fairly recent # PC systems and compatibles from 1981 through fairly recent
# system designs based on the PCI bus. # system designs based on the PCI bus.
# #
# This file is part of the 86Box distribution. # This file is part of the 86Box distribution.
# #
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2021-2024 Jasmine Iwanek.
# #
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
@@ -122,21 +123,21 @@ set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
# Optional features # Optional features
# #
# Option Description Def. # Option Description Def.
# ------ ----------- ---- # ------ ----------- ----
option(RELEASE "Release build" OFF) option(RELEASE "Release build" OFF)
option(DYNAREC "Dynamic recompiler" ON) option(DYNAREC "Dynamic recompiler" ON)
option(OPENAL "OpenAL" ON) option(OPENAL "OpenAL" ON)
option(RTMIDI "RtMidi" ON) option(RTMIDI "RtMidi" ON)
option(FLUIDSYNTH "FluidSynth" ON) option(FLUIDSYNTH "FluidSynth" ON)
option(MUNT "MUNT" ON) option(MUNT "MUNT" ON)
option(VNC "VNC renderer" OFF) option(VNC "VNC renderer" OFF)
option(NEW_DYNAREC "Use the PCem v15 (\"new\") dynamic recompiler" OFF) option(NEW_DYNAREC "Use the PCem v15 (\"new\") dynamic recompiler" OFF)
option(MINITRACE "Enable Chrome tracing using the modified minitrace library" OFF) option(MINITRACE "Enable Chrome tracing using the modified minitrace library" OFF)
option(GDBSTUB "Enable GDB stub server for debugging" OFF) option(GDBSTUB "Enable GDB stub server for debugging" OFF)
option(DEV_BRANCH "Development branch" OFF) option(DEV_BRANCH "Development branch" OFF)
option(DISCORD "Discord Rich Presence support" ON) option(DISCORD "Discord Rich Presence support" ON)
option(DEBUGREGS486 "Enable debug register opeartion on 486+ CPUs" OFF) option(DEBUGREGS486 "Enable debug register opeartion on 486+ CPUs" OFF)
if(WIN32) if(WIN32)
set(QT ON) set(QT ON)
@@ -148,25 +149,25 @@ endif()
# Development branch features # Development branch features
# #
# Option Description Def. Condition Otherwise # Option Description Def. Condition Otherwise
# ------ ----------- ---- --------- --------- # ------ ----------- ---- ------------ ---------
cmake_dependent_option(AMD_K5 "AMD K5" ON "DEV_BRANCH" OFF) cmake_dependent_option(AMD_K5 "AMD K5" ON "DEV_BRANCH" OFF)
cmake_dependent_option(AN430TX "Intel AN430TX" ON "DEV_BRANCH" OFF) cmake_dependent_option(AN430TX "Intel AN430TX" ON "DEV_BRANCH" OFF)
cmake_dependent_option(CDROM_MITSUMI "Mitsumi CDROM" ON "DEV_BRANCH" OFF) cmake_dependent_option(CDROM_MITSUMI "Mitsumi CDROM" ON "DEV_BRANCH" OFF)
cmake_dependent_option(CYRIX_6X86 "Cyrix 6x86" ON "DEV_BRANCH" OFF) cmake_dependent_option(CYRIX_6X86 "Cyrix 6x86" ON "DEV_BRANCH" OFF)
cmake_dependent_option(G100 "Matrox Productiva G100" ON "DEV_BRANCH" OFF) cmake_dependent_option(G100 "Matrox Productiva G100" ON "DEV_BRANCH" OFF)
cmake_dependent_option(GUSMAX "Gravis UltraSound MAX" ON "DEV_BRANCH" OFF) cmake_dependent_option(GUSMAX "Gravis UltraSound MAX" ON "DEV_BRANCH" OFF)
cmake_dependent_option(ISAMEM_RAMPAGE "AST Rampage" ON "DEV_BRANCH" OFF) cmake_dependent_option(ISAMEM_RAMPAGE "AST Rampage" ON "DEV_BRANCH" OFF)
cmake_dependent_option(ISAMEM_IAB "Intel Above Board" ON "DEV_BRANCH" OFF) cmake_dependent_option(ISAMEM_IAB "Intel Above Board" ON "DEV_BRANCH" OFF)
cmake_dependent_option(ISAMEM_BRAT "BocaRAM/AT" ON "DEV_BRANCH" OFF) cmake_dependent_option(ISAMEM_BRAT "BocaRAM/AT" ON "DEV_BRANCH" OFF)
cmake_dependent_option(LASERXT "VTech Laser XT" ON "DEV_BRANCH" OFF) cmake_dependent_option(LASERXT "VTech Laser XT" ON "DEV_BRANCH" OFF)
cmake_dependent_option(OLIVETTI "Olivetti M290" ON "DEV_BRANCH" OFF) cmake_dependent_option(OLIVETTI "Olivetti M290" ON "DEV_BRANCH" OFF)
cmake_dependent_option(OPEN_AT "OpenAT" ON "DEV_BRANCH" OFF) cmake_dependent_option(OPEN_AT "OpenAT" ON "DEV_BRANCH" OFF)
cmake_dependent_option(OPL4ML "OPL4-ML daughterboard" ON "DEV_BRANCH" OFF) cmake_dependent_option(OPL4ML "OPL4-ML daughterboard" ON "DEV_BRANCH" OFF)
cmake_dependent_option(PCL "Generic PCL5e Printer" ON "DEV_BRANCH" OFF) cmake_dependent_option(PCL "Generic PCL5e Printer" ON "DEV_BRANCH" OFF)
cmake_dependent_option(SIO_DETECT "Super I/O Detection Helper" ON "DEV_BRANCH" OFF) cmake_dependent_option(SIO_DETECT "Super I/O Detection Helper" ON "DEV_BRANCH" OFF)
cmake_dependent_option(WACOM "Wacom Input Devices" ON "DEV_BRANCH" OFF) cmake_dependent_option(WACOM "Wacom Input Devices" ON "DEV_BRANCH" OFF)
cmake_dependent_option(XL24 "ATI VGA Wonder XL24 (ATI-28800-6)" ON "DEV_BRANCH" OFF) cmake_dependent_option(XL24 "ATI VGA Wonder XL24 (ATI-28800-6)" ON "DEV_BRANCH" OFF)
# Ditto but for Qt # Ditto but for Qt
if(QT) if(QT)

View File

@@ -12,16 +12,45 @@
# dob205 # dob205
# #
# Copyright 2020-2022 David Hrdlička. # Copyright 2020-2022 David Hrdlička.
# Copyright 2021 dob205. # Copyright 2021 dob205.
# Copyright 2024 Jasmine Iwanek.
# #
if(APPLE) if(APPLE)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
endif() endif()
add_executable(86Box 86box.c config.c log.c random.c timer.c io.c acpi.c apm.c add_executable(86Box
dma.c ddma.c nmi.c pic.c pit.c pit_fast.c port_6x.c port_92.c ppi.c pci.c 86box.c
mca.c usb.c fifo.c fifo8.c device.c nvr.c nvr_at.c nvr_ps2.c config.c
machine_status.c ini.c cJSON.c) log.c
random.c
timer.c
io.c
acpi.c
apm.c
dma.c
ddma.c
nmi.c
pic.c
pit.c
pit_fast.c
port_6x.c
port_92.c
ppi.c
pci.c
mca.c
usb.c
fifo.c
fifo8.c
device.c
nvr.c
nvr_at.c
nvr_ps2.c
machine_status.c
ini.c
cJSON.c
)
if(CMAKE_SYSTEM_NAME MATCHES "Linux") if(CMAKE_SYSTEM_NAME MATCHES "Linux")
add_compile_definitions(_FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE=1 _LARGEFILE64_SOURCE=1) add_compile_definitions(_FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE=1 _LARGEFILE64_SOURCE=1)
@@ -61,7 +90,10 @@ if(VNC)
find_package(LibVNCServer) find_package(LibVNCServer)
if(LibVNCServer_FOUND) if(LibVNCServer_FOUND)
add_compile_definitions(USE_VNC) add_compile_definitions(USE_VNC)
add_library(vnc OBJECT vnc.c vnc_keymap.c) add_library(vnc OBJECT
vnc.c
vnc_keymap.c
)
target_link_libraries(86Box vnc LibVNCServer::vncserver) target_link_libraries(86Box vnc LibVNCServer::vncserver)
if(WIN32) if(WIN32)
target_link_libraries(86Box ws2_32) target_link_libraries(86Box ws2_32)

View File

@@ -9,15 +9,23 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
pkg_check_modules(SNDFILE REQUIRED IMPORTED_TARGET sndfile) pkg_check_modules(SNDFILE REQUIRED IMPORTED_TARGET sndfile)
add_library(cdrom OBJECT cdrom.c cdrom_image_backend.c cdrom_image_viso.c cdrom_image.c cdrom_ioctl.c) add_library(cdrom OBJECT
cdrom.c
cdrom_image_backend.c
cdrom_image_viso.c
cdrom_image.c
cdrom_ioctl.c
)
target_link_libraries(86Box PkgConfig::SNDFILE) target_link_libraries(86Box PkgConfig::SNDFILE)
if(CDROM_MITSUMI) if(CDROM_MITSUMI)

View File

@@ -9,20 +9,80 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(chipset OBJECT 82c100.c acc2168.c cs8230.c ali1429.c ali1435.c ali1489.c add_library(chipset OBJECT
ali1531.c ali1541.c ali1543.c ali1621.c ali6117.c ali1409.c headland.c ims8848.c intel_82335.c 82c100.c
compaq_386.c contaq_82c59x.c cs4031.c intel_420ex.c intel_4x0.c intel_i450kx.c acc2168.c
intel_sio.c intel_piix.c ../ioapic.c neat.c opti283.c opti291.c opti391.c opti495.c cs8230.c
opti499.c opti602.c opti822.c opti895.c opti5x7.c scamp.c scat.c sis_85c310.c sis_85c4xx.c ali1429.c
sis_85c496.c sis_85c50x.c sis_5511.c sis_5571.c sis_5581.c sis_5591.c sis_5600.c ali1435.c
sis_5511_h2p.c sis_5571_h2p.c sis_5581_h2p.c sis_5591_h2p.c sis_5600_h2p.c ali1489.c
sis_5513_p2i.c sis_5513_ide.c sis_5572_usb.c sis_5595_pmu.c sis_55xx.c via_vt82c49x.c ali1531.c
via_vt82c505.c gc100.c stpc.c ali1541.c
umc_8886.c umc_hb4.c umc_8890.c via_apollo.c via_pipc.c vl82c480.c wd76c10.c) ali1543.c
ali1621.c
ali6117.c
ali1409.c
headland.c
ims8848.c
intel_82335.c
compaq_386.c
contaq_82c59x.c
cs4031.c
intel_420ex.c
intel_4x0.c
intel_i450kx.c
intel_sio.c
intel_piix.c
../ioapic.c
neat.c
opti283.c
opti291.c
opti391.c
opti495.c
opti499.c
opti602.c
opti822.c
opti895.c
opti5x7.c
scamp.c
scat.c
sis_85c310.c
sis_85c4xx.c
sis_85c496.c
sis_85c50x.c
sis_5511.c
sis_5571.c
sis_5581.c
sis_5591.c
sis_5600.c
sis_5511_h2p.c
sis_5571_h2p.c
sis_5581_h2p.c
sis_5591_h2p.c
sis_5600_h2p.c
sis_5513_p2i.c
sis_5513_ide.c
sis_5572_usb.c
sis_5595_pmu.c
sis_55xx.c
via_vt82c49x.c
via_vt82c505.c
gc100.c
stpc.c
umc_8886.c
umc_hb4.c
umc_8890.c
via_apollo.c
via_pipc.c
vl82c480.c
wd76c10.c
)
if(OLIVETTI) if(OLIVETTI)
target_sources(chipset PRIVATE olivetti_eva.c) target_sources(chipset PRIVATE olivetti_eva.c)

View File

@@ -9,19 +9,28 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
if(DYNAREC) if(DYNAREC)
add_library(dynarec OBJECT codegen.c codegen_ops.c) add_library(dynarec OBJECT
codegen.c
codegen_ops.c
)
if(ARCH STREQUAL "i386") if(ARCH STREQUAL "i386")
target_sources(dynarec PRIVATE codegen_x86.c target_sources(dynarec PRIVATE
codegen_accumulate_x86.c) codegen_x86.c
codegen_accumulate_x86.c
)
elseif(ARCH STREQUAL "x86_64") elseif(ARCH STREQUAL "x86_64")
target_sources(dynarec PRIVATE codegen_x86-64.c target_sources(dynarec PRIVATE
codegen_accumulate_x86-64.c) codegen_x86-64.c
codegen_accumulate_x86-64.c
)
else() else()
message(SEND_ERROR message(SEND_ERROR
"Dynarec is incompatible with target platform ${ARCH}") "Dynarec is incompatible with target platform ${ARCH}")

View File

@@ -9,39 +9,71 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
if(DYNAREC) if(DYNAREC)
add_library(dynarec OBJECT codegen.c codegen_accumulate.c add_library(dynarec OBJECT
codegen_allocator.c codegen_block.c codegen_ir.c codegen_ops.c codegen.c
codegen_ops_3dnow.c codegen_ops_branch.c codegen_ops_arith.c codegen_accumulate.c
codegen_ops_fpu_arith.c codegen_ops_fpu_constant.c codegen_allocator.c
codegen_ops_fpu_loadstore.c codegen_ops_fpu_misc.c codegen_block.c
codegen_ops_helpers.c codegen_ops_jump.c codegen_ops_logic.c codegen_ir.c
codegen_ops_misc.c codegen_ops_mmx_arith.c codegen_ops_mmx_cmp.c codegen_ops.c
codegen_ops_mmx_loadstore.c codegen_ops_mmx_logic.c codegen_ops_3dnow.c
codegen_ops_mmx_pack.c codegen_ops_mmx_shift.c codegen_ops_mov.c codegen_ops_branch.c
codegen_ops_shift.c codegen_ops_stack.c codegen_reg.c) codegen_ops_arith.c
codegen_ops_fpu_arith.c
codegen_ops_fpu_constant.c
codegen_ops_fpu_loadstore.c
codegen_ops_fpu_misc.c
codegen_ops_helpers.c
codegen_ops_jump.c
codegen_ops_logic.c
codegen_ops_misc.c
codegen_ops_mmx_arith.c
codegen_ops_mmx_cmp.c
codegen_ops_mmx_loadstore.c
codegen_ops_mmx_logic.c
codegen_ops_mmx_pack.c
codegen_ops_mmx_shift.c
codegen_ops_mov.c
codegen_ops_shift.c
codegen_ops_stack.c
codegen_reg.c
)
if(ARCH STREQUAL "i386") if(ARCH STREQUAL "i386")
target_sources(dynarec PRIVATE codegen_backend_x86.c target_sources(dynarec PRIVATE
codegen_backend_x86_ops.c codegen_backend_x86_ops_fpu.c codegen_backend_x86.c
codegen_backend_x86_ops.c
codegen_backend_x86_ops_fpu.c
codegen_backend_x86_ops_sse.c codegen_backend_x86_ops_sse.c
codegen_backend_x86_uops.c) codegen_backend_x86_uops.c
)
elseif(ARCH STREQUAL "x86_64") elseif(ARCH STREQUAL "x86_64")
target_sources(dynarec PRIVATE codegen_backend_x86-64.c target_sources(dynarec PRIVATE
codegen_backend_x86-64.c
codegen_backend_x86-64_ops.c codegen_backend_x86-64_ops.c
codegen_backend_x86-64_ops_sse.c codegen_backend_x86-64_ops_sse.c
codegen_backend_x86-64_uops.c) codegen_backend_x86-64_uops.c
)
elseif(ARCH STREQUAL "arm64") elseif(ARCH STREQUAL "arm64")
target_sources(dynarec PRIVATE codegen_backend_arm64.c target_sources(dynarec PRIVATE
codegen_backend_arm64_ops.c codegen_backend_arm64_uops.c codegen_backend_arm64.c
codegen_backend_arm64_imm.c) codegen_backend_arm64_ops.c
codegen_backend_arm64_uops.c
codegen_backend_arm64_imm.c
)
elseif(ARCH STREQUAL "arm") elseif(ARCH STREQUAL "arm")
target_sources(dynarec PRIVATE codegen_backend_arm.c target_sources(dynarec PRIVATE
codegen_backend_arm_ops.c codegen_backend_arm_uops.c) codegen_backend_arm.c
codegen_backend_arm_ops.c
codegen_backend_arm_uops.c
)
else() else()
message(SEND_ERROR message(SEND_ERROR
"Dynarec is incompatible with target platform ${ARCH}") "Dynarec is incompatible with target platform ${ARCH}")

View File

@@ -9,13 +9,28 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(cpu OBJECT cpu.c cpu_table.c fpu.c x86.c 808x.c 386.c 386_common.c add_library(cpu OBJECT
386_dynarec.c x86_ops_mmx.c x86seg_common.c x86seg.c x86seg_2386.c x87.c cpu.c
x87_timings.c 8080.c) cpu_table.c
fpu.c x86.c
808x.c
386.c
386_common.c
386_dynarec.c
x86_ops_mmx.c
x86seg_common.c
x86seg.c
x86seg_2386.c
x87.c
x87_timings.c
8080.c
)
if(AMD_K5) if(AMD_K5)
target_compile_definitions(cpu PRIVATE USE_AMD_K5) target_compile_definitions(cpu PRIVATE USE_AMD_K5)
@@ -39,10 +54,15 @@ endif()
if(DYNAREC) if(DYNAREC)
target_sources(cpu PRIVATE 386_dynarec_ops.c) target_sources(cpu PRIVATE 386_dynarec_ops.c)
add_library(cgt OBJECT codegen_timing_486.c add_library(cgt OBJECT
codegen_timing_common.c codegen_timing_k6.c codegen_timing_486.c
codegen_timing_pentium.c codegen_timing_p6.c codegen_timing_common.c
codegen_timing_winchip.c codegen_timing_winchip2.c) codegen_timing_k6.c
codegen_timing_pentium.c
codegen_timing_p6.c
codegen_timing_winchip.c
codegen_timing_winchip2.c
)
endif() endif()
add_subdirectory(softfloat3e) add_subdirectory(softfloat3e)

View File

@@ -9,22 +9,53 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2021 Andreas J. Reichel. # Copyright 2021 Andreas J. Reichel.
# Copyright 2021-2022 Jasmine Iwanek. # Copyright 2021-2024 Jasmine Iwanek.
# #
add_library(dev OBJECT bugger.c cassette.c cartridge.c hasp.c hwm.c hwm_lm75.c hwm_lm78.c hwm_gl518sm.c add_library(dev OBJECT
hwm_vt82c686.c ibm_5161.c isamem.c isartc.c ../lpt.c pci_bridge.c bugger.c
postcard.c serial.c unittester.c clock_ics9xxx.c isapnp.c i2c.c i2c_gpio.c cassette.c
smbus_piix4.c smbus_ali7101.c smbus_sis5595.c keyboard.c keyboard_xt.c cartridge.c
kbc_at.c kbc_at_dev.c hasp.c
hwm.c
hwm_lm75.c
hwm_lm78.c
hwm_gl518sm.c
hwm_vt82c686.c
ibm_5161.c
isamem.c
isartc.c
../lpt.c
pci_bridge.c
postcard.c
serial.c
unittester.c
clock_ics9xxx.c
isapnp.c
i2c.c
i2c_gpio.c
smbus_piix4.c
smbus_ali7101.c
smbus_sis5595.c
keyboard.c
keyboard_xt.c
kbc_at.c
kbc_at_dev.c
keyboard_at.c keyboard_at.c
mouse.c mouse_bus.c mouse_serial.c mouse_ps2.c nec_mate_unk.c phoenix_486_jumper.c mouse.c
mouse_bus.c
mouse_serial.c
mouse_ps2.c
nec_mate_unk.c
phoenix_486_jumper.c
serial_passthrough.c serial_passthrough.c
novell_cardkey.c novell_cardkey.c
mouse_microtouch_touchscreen.c) mouse_microtouch_touchscreen.c
)
if(NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang") if(NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang")
target_link_libraries(86Box atomic) target_link_libraries(86Box atomic)

View File

@@ -9,14 +9,33 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(hdd OBJECT hdd.c hdd_image.c hdd_table.c hdc.c hdc_st506_xt.c add_library(hdd OBJECT
hdc_st506_at.c hdc_xta.c hdc_esdi_at.c hdc_esdi_mca.c hdc_xtide.c hdd.c
hdc_ide.c hdc_ide_ali5213.c hdc_ide_opti611.c hdc_ide_cmd640.c hdc_ide_cmd646.c hdd_image.c
hdc_ide_sff8038i.c hdc_ide_um8673f.c hdc_ide_w83769f.c lba_enhancer.c) hdd_table.c
hdc.c
hdc_st506_xt.c
hdc_st506_at.c
hdc_xta.c
hdc_esdi_at.c
hdc_esdi_mca.c
hdc_xtide.c
hdc_ide.c
hdc_ide_ali5213.c
hdc_ide_opti611.c
hdc_ide_cmd640.c
hdc_ide_cmd646.c
hdc_ide_sff8038i.c
hdc_ide_um8673f.c
hdc_ide_w83769f.c
lba_enhancer.c
)
add_library(zip OBJECT zip.c) add_library(zip OBJECT zip.c)

View File

@@ -9,13 +9,28 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(fdd OBJECT fdd.c fdc.c fdc_magitronic.c fdc_monster.c fdc_pii15xb.c add_library(fdd OBJECT
fdi2raw.c fdd_common.c fdd_86f.c fdd_fdi.c fdd_imd.c fdd_img.c fdd_pcjs.c fdd.c
fdd_mfm.c fdd_td0.c) fdc.c
fdc_magitronic.c
fdc_monster.c
fdc_pii15xb.c
fdi2raw.c
fdd_common.c
fdd_86f.c
fdd_fdi.c
fdd_imd.c
fdd_img.c
fdd_pcjs.c
fdd_mfm.c
fdd_td0.c
)
add_subdirectory(lzw) add_subdirectory(lzw)
target_link_libraries(86Box lzw) target_link_libraries(86Box lzw)

View File

@@ -9,9 +9,16 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(game OBJECT gameport.c joystick_standard.c add_library(game OBJECT
joystick_ch_flightstick_pro.c joystick_sw_pad.c joystick_tm_fcs.c) gameport.c
joystick_standard.c
joystick_ch_flightstick_pro.c
joystick_sw_pad.c
joystick_tm_fcs.c
)

View File

@@ -11,10 +11,12 @@
# Authors: dob205, # Authors: dob205,
# Jerome Vernet # Jerome Vernet
# David Hrdlička, <hrdlickadavid@outlook.com> # David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2021 dob205. # Copyright 2021 dob205.
# Copyright 2021 Jerome Vernet. # Copyright 2021 Jerome Vernet.
# Copyright 2021 David Hrdlička. # Copyright 2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
# Pick the bundle icon depending on the release channel # Pick the bundle icon depending on the release channel

View File

@@ -9,20 +9,51 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(mch OBJECT machine.c machine_table.c m_xt.c m_xt_compaq.c add_library(mch OBJECT
machine.c
machine_table.c
m_xt.c
m_xt_compaq.c
m_xt_philips.c m_xt_philips.c
m_xt_t1000.c m_xt_t1000_vid.c m_xt_xi8088.c m_xt_zenith.c m_pcjr.c m_xt_t1000.c
m_amstrad.c m_europc.c m_elt.c m_xt_olivetti.c m_tandy.c m_v86p.c m_xt_t1000_vid.c
m_at.c m_at_commodore.c m_xt_xi8088.c
m_at_t3100e.c m_at_t3100e_vid.c m_ps1.c m_ps1_hdc.c m_ps2_isa.c m_xt_zenith.c
m_ps2_mca.c m_at_compaq.c m_at_286_386sx.c m_at_386dx_486.c m_pcjr.c
m_at_socket4.c m_at_socket5.c m_at_socket7_3v.c m_at_socket7.c m_amstrad.c
m_at_sockets7.c m_at_socket8.c m_at_slot1.c m_at_slot2.c m_at_socket370.c m_europc.c
m_at_misc.c) m_elt.c
m_xt_olivetti.c
m_tandy.c
m_v86p.c
m_at.c
m_at_commodore.c
m_at_t3100e.c
m_at_t3100e_vid.c
m_ps1.c
m_ps1_hdc.c
m_ps2_isa.c
m_ps2_mca.c
m_at_compaq.c
m_at_286_386sx.c
m_at_386dx_486.c
m_at_socket4.c
m_at_socket5.c
m_at_socket7_3v.c
m_at_socket7.c
m_at_sockets7.c
m_at_socket8.c
m_at_slot1.c
m_at_slot2.c
m_at_socket370.c
m_at_misc.c
)
if(AN430TX) if(AN430TX)
target_compile_definitions(mch PRIVATE USE_AN430TX) target_compile_definitions(mch PRIVATE USE_AN430TX)

View File

@@ -9,9 +9,21 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(mem OBJECT catalyst_flash.c i2c_eeprom.c intel_flash.c mem.c mmu_2386.c add_library(mem OBJECT
rom.c row.c smram.c spd.c sst_flash.c) catalyst_flash.c
i2c_eeprom.c
intel_flash.c
mem.c
mmu_2386.c
rom.c
row.c
smram.c
spd.c
sst_flash.c
)

View File

@@ -9,13 +9,32 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
set(net_sources) set(net_sources)
list(APPEND net_sources network.c net_pcap.c net_slirp.c net_dp8390.c net_3c501.c list(APPEND net_sources
net_3c503.c net_ne2000.c net_pcnet.c net_wd8003.c net_plip.c net_event.c net_null.c network.c
net_eeprom_nmc93cxx.c net_tulip.c net_rtl8139.c net_l80225.c net_modem.c utils/getline.c) net_pcap.c
net_slirp.c
net_dp8390.c
net_3c501.c
net_3c503.c
net_ne2000.c
net_pcnet.c
net_wd8003.c
net_plip.c
net_event.c
net_null.c
net_eeprom_nmc93cxx.c
net_tulip.c
net_rtl8139.c
net_l80225.c
net_modem.c
utils/getline.c
)
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
pkg_check_modules(SLIRP REQUIRED IMPORTED_TARGET slirp) pkg_check_modules(SLIRP REQUIRED IMPORTED_TARGET slirp)

View File

@@ -9,11 +9,19 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(print OBJECT png.c prt_cpmap.c prt_escp.c prt_text.c prt_ps.c) add_library(print OBJECT
png.c
prt_cpmap.c
prt_escp.c
prt_text.c
prt_ps.c
)
if(PCL) if(PCL)
target_compile_definitions(print PRIVATE USE_PCL) target_compile_definitions(print PRIVATE USE_PCL)

View File

@@ -8,6 +8,11 @@
# #
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
#
# Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# Find includes in corresponding build directories # Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -232,9 +237,15 @@ if(WIN32 AND NOT CPPTHREADS)
endif() endif()
if(WIN32) if(WIN32)
target_sources(plat PRIVATE win_serial_passthrough.c win_netsocket.c) target_sources(plat PRIVATE
win_serial_passthrough.c
win_netsocket.c
)
else() else()
target_sources(plat PRIVATE ../unix/unix_serial_passthrough.c ../unix/unix_netsocket.c) target_sources(plat PRIVATE
../unix/unix_serial_passthrough.c
../unix/unix_netsocket.c
)
endif() endif()
if(WIN32) if(WIN32)
@@ -268,18 +279,14 @@ if (WIN32)
) )
endif() endif()
target_link_libraries( target_link_libraries(plat PRIVATE
plat
PRIVATE
Qt${QT_MAJOR}::Widgets Qt${QT_MAJOR}::Widgets
Qt${QT_MAJOR}::Gui Qt${QT_MAJOR}::Gui
Qt${QT_MAJOR}::Network Qt${QT_MAJOR}::Network
Threads::Threads Threads::Threads
) )
target_link_libraries( target_link_libraries(ui PRIVATE
ui
PRIVATE
Qt${QT_MAJOR}::Widgets Qt${QT_MAJOR}::Widgets
Qt${QT_MAJOR}::Gui Qt${QT_MAJOR}::Gui
Qt${QT_MAJOR}::OpenGL Qt${QT_MAJOR}::OpenGL

View File

@@ -9,10 +9,24 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(scsi OBJECT scsi.c scsi_device.c scsi_cdrom.c scsi_disk.c add_library(scsi OBJECT
scsi_x54x.c scsi_aha154x.c scsi_buslogic.c scsi_ncr5380.c scsi_ncr53c400.c scsi.c
scsi_t128.c scsi_ncr53c8xx.c scsi_pcscsi.c scsi_spock.c) scsi_device.c
scsi_cdrom.c
scsi_disk.c
scsi_x54x.c
scsi_aha154x.c
scsi_buslogic.c
scsi_ncr5380.c
scsi_ncr53c400.c
scsi_t128.c
scsi_ncr53c8xx.c
scsi_pcscsi.c
scsi_spock.c
)

View File

@@ -9,18 +9,39 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(sio OBJECT sio_acc3221.c sio_ali5123.c sio_f82c710.c sio_82091aa.c add_library(sio OBJECT
sio_fdc37c6xx.c sio_fdc37c67x.c sio_fdc37c669.c sio_fdc37c93x.c sio_fdc37m60x.c sio_acc3221.c
sio_ali5123.c
sio_f82c710.c
sio_82091aa.c
sio_fdc37c6xx.c
sio_fdc37c67x.c
sio_fdc37c669.c
sio_fdc37c93x.c
sio_fdc37m60x.c
sio_it86x1f.c sio_it86x1f.c
sio_pc87306.c sio_pc87307.c sio_pc87309.c sio_pc87310.c sio_pc87311.c sio_pc87332.c sio_pc87306.c
sio_prime3b.c sio_prime3c.c sio_pc87307.c
sio_w83787f.c sio_w83877f.c sio_w83977f.c sio_pc87309.c
sio_um8663f.c sio_um8669f.c sio_pc87310.c
sio_vl82c113.c sio_vt82c686.c) sio_pc87311.c
sio_pc87332.c
sio_prime3b.c
sio_prime3c.c
sio_w83787f.c
sio_w83877f.c
sio_w83977f.c
sio_um8663f.c
sio_um8669f.c
sio_vl82c113.c
sio_vt82c686.c
)
if(SIO_DETECT) if(SIO_DETECT)
target_sources(sio PRIVATE sio_detect.c) target_sources(sio PRIVATE sio_detect.c)

View File

@@ -9,16 +9,49 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(snd OBJECT sound.c snd_opl.c snd_opl_nuked.c snd_opl_ymfm.cpp snd_resid.cpp add_library(snd OBJECT
midi.c snd_speaker.c snd_pssj.c snd_lpt_dac.c snd_ac97_codec.c snd_ac97_via.c sound.c
snd_lpt_dss.c snd_ps1.c snd_adlib.c snd_adlibgold.c snd_ad1848.c snd_audiopci.c snd_opl.c
snd_azt2316a.c snd_cms.c snd_cmi8x38.c snd_cs423x.c snd_gus.c snd_sb.c snd_sb_dsp.c snd_opl_nuked.c
snd_emu8k.c snd_mpu401.c snd_pas16.c snd_sn76489.c snd_ssi2001.c snd_wss.c snd_ym7128.c snd_opl_ymfm.cpp
snd_optimc.c esfmu/esfm.c esfmu/esfm_registers.c snd_opl_esfm.c) snd_resid.cpp
midi.c
snd_speaker.c
snd_pssj.c
snd_lpt_dac.c
snd_ac97_codec.c
snd_ac97_via.c
snd_lpt_dss.c
snd_ps1.c
snd_adlib.c
snd_adlibgold.c
snd_ad1848.c
snd_audiopci.c
snd_azt2316a.c
snd_cms.c
snd_cmi8x38.c
snd_cs423x.c
snd_gus.c
snd_sb.c
snd_sb_dsp.c
snd_emu8k.c
snd_mpu401.c
snd_pas16.c
snd_sn76489.c
snd_ssi2001.c
snd_wss.c
snd_ym7128.c
snd_optimc.c
esfmu/esfm.c
esfmu/esfm_registers.c
snd_opl_esfm.c
)
if(OPENAL) if(OPENAL)
if(VCPKG_TOOLCHAIN) if(VCPKG_TOOLCHAIN)

View File

@@ -10,14 +10,19 @@
# #
# Authors: Cacodemon345 # Authors: Cacodemon345
# David Hrdlička, <hrdlickadavid@outlook.com> # David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2021 Cacodemon345. # Copyright 2021 Cacodemon345.
# Copyright 2021 David Hrdlička. # Copyright 2021 David Hrdlička.
# Copyright 2021 Andreas J. Reichel. # Copyright 2021 Andreas J. Reichel.
# Copyright 2021-2022 Jasmine Iwanek. # Copyright 2021-2024 Jasmine Iwanek.
# #
add_library(plat OBJECT unix.c unix_serial_passthrough.c unix_netsocket.c) add_library(plat OBJECT
unix.c
unix_serial_passthrough.c
unix_netsocket.c
)
if (NOT CPPTHREADS) if (NOT CPPTHREADS)
target_sources(plat PRIVATE unix_thread.c) target_sources(plat PRIVATE unix_thread.c)
@@ -27,7 +32,11 @@ set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
target_link_libraries(86Box Threads::Threads) target_link_libraries(86Box Threads::Threads)
add_library(ui OBJECT unix_sdl.c unix_cdrom.c dummy_cdrom_ioctl.c) add_library(ui OBJECT
unix_sdl.c
unix_cdrom.c
dummy_cdrom_ioctl.c
)
target_compile_definitions(ui PUBLIC _FILE_OFFSET_BITS=64) target_compile_definitions(ui PUBLIC _FILE_OFFSET_BITS=64)
target_link_libraries(ui ${CMAKE_DL_LIBS}) target_link_libraries(ui ${CMAKE_DL_LIBS})

View File

@@ -9,25 +9,78 @@
# CMake build script. # CMake build script.
# #
# Authors: David Hrdlička, <hrdlickadavid@outlook.com> # Authors: David Hrdlička, <hrdlickadavid@outlook.com>
# Jasmine Iwanek, <jriwanek@gmail.com>
# #
# Copyright 2020-2021 David Hrdlička. # Copyright 2020-2021 David Hrdlička.
# Copyright 2024 Jasmine Iwanek.
# #
add_library(vid OBJECT agpgart.c video.c vid_table.c vid_cga.c vid_cga_comp.c add_library(vid OBJECT
vid_compaq_cga.c vid_mda.c vid_hercules.c vid_herculesplus.c agpgart.c
vid_incolor.c vid_colorplus.c vid_genius.c vid_pgc.c vid_im1024.c video.c
vid_sigma.c vid_wy700.c vid_ega.c vid_ega_render.c vid_svga.c vid_8514a.c vid_table.c
vid_svga_render.c vid_ddc.c vid_vga.c vid_ati_eeprom.c vid_ati18800.c vid_cga.c
vid_ati28800.c vid_ati_mach8.c vid_ati_mach64.c vid_ati68875_ramdac.c vid_cga_comp.c
vid_ati68860_ramdac.c vid_bt48x_ramdac.c vid_chips_69000.c vid_compaq_cga.c
vid_av9194.c vid_icd2061.c vid_ics2494.c vid_ics2595.c vid_cl54xx.c vid_mda.c
vid_et3000.c vid_et4000.c vid_sc1148x_ramdac.c vid_sc1502x_ramdac.c vid_hercules.c
vid_et4000w32.c vid_stg_ramdac.c vid_ht216.c vid_oak_oti.c vid_paradise.c vid_herculesplus.c
vid_rtg310x.c vid_f82c425.c vid_ti_cf62011.c vid_tvga.c vid_tgui9440.c vid_incolor.c
vid_tkd8001_ramdac.c vid_att20c49x_ramdac.c vid_s3.c vid_s3_virge.c vid_colorplus.c
vid_ibm_rgb528_ramdac.c vid_sdac_ramdac.c vid_ogc.c vid_mga.c vid_nga.c vid_genius.c
vid_tvp3026_ramdac.c vid_att2xc498_ramdac.c vid_xga.c vid_pgc.c
vid_bochs_vbe.c) vid_im1024.c
vid_sigma.c
vid_wy700.c
vid_ega.c
vid_ega_render.c
vid_svga.c
vid_8514a.c
vid_svga_render.c
vid_ddc.c
vid_vga.c
vid_ati_eeprom.c
vid_ati18800.c
vid_ati28800.c
vid_ati_mach8.c
vid_ati_mach64.c
vid_ati68875_ramdac.c
vid_ati68860_ramdac.c
vid_bt48x_ramdac.c
vid_chips_69000.c
vid_av9194.c
vid_icd2061.c
vid_ics2494.c
vid_ics2595.c
vid_cl54xx.c
vid_et3000.c
vid_et4000.c
vid_sc1148x_ramdac.c
vid_sc1502x_ramdac.c
vid_et4000w32.c
vid_stg_ramdac.c
vid_ht216.c
vid_oak_oti.c
vid_paradise.c
vid_rtg310x.c
vid_f82c425.c
vid_ti_cf62011.c
vid_tvga.c
vid_tgui9440.c
vid_tkd8001_ramdac.c
vid_att20c49x_ramdac.c
vid_s3.c
vid_s3_virge.c
vid_ibm_rgb528_ramdac.c
vid_sdac_ramdac.c
vid_ogc.c
vid_mga.c
vid_nga.c
vid_tvp3026_ramdac.c
vid_att2xc498_ramdac.c
vid_xga.c
vid_bochs_vbe.c
)
if(G100) if(G100)
target_compile_definitions(vid PRIVATE USE_G100) target_compile_definitions(vid PRIVATE USE_G100)
@@ -37,10 +90,19 @@ if(XL24)
target_compile_definitions(vid PRIVATE USE_XL24) target_compile_definitions(vid PRIVATE USE_XL24)
endif() endif()
add_library(voodoo OBJECT vid_voodoo.c vid_voodoo_banshee.c add_library(voodoo OBJECT
vid_voodoo_banshee_blitter.c vid_voodoo_blitter.c vid_voodoo_display.c vid_voodoo.c
vid_voodoo_fb.c vid_voodoo_fifo.c vid_voodoo_reg.c vid_voodoo_render.c vid_voodoo_banshee.c
vid_voodoo_setup.c vid_voodoo_texture.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")) if(NOT MSVC AND (ARCH STREQUAL "i386" OR ARCH STREQUAL "x86_64"))
target_compile_options(voodoo PRIVATE "-msse2") target_compile_options(voodoo PRIVATE "-msse2")