Files
86Box/src/device/CMakeLists.txt
2025-09-21 18:02:46 -04:00

107 lines
2.3 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>
# Jasmine Iwanek, <jriwanek@gmail.com>
#
# Copyright 2020-2021 David Hrdlička.
# Copyright 2021 Andreas J. Reichel.
# Copyright 2021-2025 Jasmine Iwanek.
#
add_library(dev OBJECT
access_bus.c
bugger.c
cartridge.c
cassette.c
clock_ics9xxx.c
dell_jumper.c
hasp.c
hwm.c
hwm_gl518sm.c
hwm_lm75.c
hwm_lm78.c
hwm_vt82c686.c
i2c.c
i2c_gpio.c
ibm_5161.c
isamem.c
isarom.c
isartc.c
isapnp.c
kbc_at.c
kbc_at_dev.c
kbc_xt.c
keyboard.c
keyboard_at.c
keyboard_xt.c
lpt.c
mouse.c
mouse_bus.c
mouse_microtouch_touchscreen.c
mouse_ps2.c
mouse_serial.c
mouse_upc.c
nec_mate_unk.c
novell_cardkey.c
pci_bridge.c
phoenix_486_jumper.c
postcard.c
radisys_config.c
serial.c
serial_passthrough.c
smbus_ali7101.c
smbus_piix4.c
smbus_sis5595.c
tulip_jumper.c
unittester.c
zenith_scratchpad.c
)
if(NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT MSVC)
target_link_libraries(86Box atomic)
endif()
if(ISAMEM_RAMPAGE)
target_compile_definitions(dev PRIVATE USE_ISAMEM_RAMPAGE)
endif()
if(ISAMEM_IAB)
target_compile_definitions(dev PRIVATE USE_ISAMEM_IAB)
endif()
if(ISAMEM_BRAT)
target_compile_definitions(dev PRIVATE USE_ISAMEM_BRAT)
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
if(VFIO)
include(CheckIncludeFile)
check_include_file("linux/vfio.h" VFIO_AVAILABLE)
if(VFIO_AVAILABLE)
add_compile_definitions(USE_VFIO)
target_sources(dev PRIVATE vfio.c)
endif()
endif()
endif()
if(LASERXT)
target_compile_definitions(dev PRIVATE USE_LASERXT)
endif()
if(PCL)
target_compile_definitions(dev PRIVATE USE_PCL)
endif()
if(WACOM)
target_compile_definitions(dev PRIVATE USE_WACOM)
target_sources(dev PRIVATE mouse_wacom_tablet.c)
endif()