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

@@ -11,6 +11,7 @@
# 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)
@@ -149,7 +150,7 @@ 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)

View File

@@ -13,15 +13,44 @@
# #
# 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")