2021-01-12 18:05:25 +01:00
|
|
|
#
|
2022-11-13 16:37:58 -05:00
|
|
|
# 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.
|
2021-01-12 18:05:25 +01:00
|
|
|
#
|
2022-11-13 16:37:58 -05:00
|
|
|
# This file is part of the 86Box distribution.
|
2021-01-12 18:05:25 +01:00
|
|
|
#
|
2022-11-13 16:37:58 -05:00
|
|
|
# CMake build script.
|
2021-01-12 18:05:25 +01:00
|
|
|
#
|
2022-11-13 16:37:58 -05:00
|
|
|
# Authors: David Hrdlička, <hrdlickadavid@outlook.com>
|
2024-09-04 18:34:06 -04:00
|
|
|
# Jasmine Iwanek, <jriwanek@gmail.com>
|
2021-01-12 18:05:25 +01:00
|
|
|
#
|
2023-01-06 15:36:29 -05:00
|
|
|
# Copyright 2020-2021 David Hrdlička.
|
2024-09-04 18:34:06 -04:00
|
|
|
# Copyright 2024 Jasmine Iwanek.
|
2021-01-12 18:05:25 +01:00
|
|
|
#
|
|
|
|
|
|
2024-09-04 18:34:06 -04:00
|
|
|
add_library(cpu OBJECT
|
|
|
|
|
cpu.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
|
|
|
|
|
)
|
2021-01-12 18:22:40 +01:00
|
|
|
|
|
|
|
|
if(AMD_K5)
|
2021-12-20 15:03:42 +01:00
|
|
|
target_compile_definitions(cpu PRIVATE USE_AMD_K5)
|
2024-08-10 19:57:46 -04:00
|
|
|
|
|
|
|
|
if(DYNAREC)
|
|
|
|
|
add_library(ctk5 OBJECT codegen_timing_k5.c)
|
|
|
|
|
target_link_libraries(86Box ctk5)
|
|
|
|
|
endif()
|
|
|
|
|
|
2021-01-12 18:22:40 +01:00
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(CYRIX_6X86)
|
2021-12-20 15:03:42 +01:00
|
|
|
target_compile_definitions(cpu PRIVATE USE_CYRIX_6X86)
|
2024-06-10 00:08:48 +02:00
|
|
|
|
2024-08-10 20:25:44 -04:00
|
|
|
if(DYNAREC)
|
2024-06-10 00:08:48 +02:00
|
|
|
add_library(ct686 OBJECT codegen_timing_686.c)
|
|
|
|
|
target_link_libraries(86Box ct686)
|
2021-01-12 18:22:40 +01:00
|
|
|
endif()
|
2024-08-10 20:25:44 -04:00
|
|
|
endif()
|
2021-01-12 18:22:40 +01:00
|
|
|
|
|
|
|
|
if(DYNAREC)
|
2022-01-29 23:50:53 +01:00
|
|
|
target_sources(cpu PRIVATE 386_dynarec_ops.c)
|
|
|
|
|
|
2024-09-04 18:34:06 -04:00
|
|
|
add_library(cgt OBJECT
|
|
|
|
|
codegen_timing_486.c
|
|
|
|
|
codegen_timing_common.c
|
|
|
|
|
codegen_timing_k6.c
|
|
|
|
|
codegen_timing_pentium.c
|
|
|
|
|
codegen_timing_p6.c
|
|
|
|
|
codegen_timing_winchip.c
|
|
|
|
|
codegen_timing_winchip2.c
|
|
|
|
|
)
|
2022-01-29 13:08:56 -08:00
|
|
|
endif()
|
2023-04-29 18:56:57 +02:00
|
|
|
|
2024-06-09 23:08:46 +02:00
|
|
|
add_subdirectory(softfloat3e)
|
|
|
|
|
target_link_libraries(86Box softfloat3e)
|