1
2PROJECT(NTVDM)
3
4#####################################
5# Generate the integrated COMMAND.COM
6#
7add_custom_command(
8    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/command_com.c ${CMAKE_CURRENT_BINARY_DIR}/command_com.h
9    COMMAND native-bin2c $<TARGET_PROPERTY:command,BINARY_PATH> ${CMAKE_CURRENT_BINARY_DIR}/command_com.c ${CMAKE_CURRENT_BINARY_DIR}/command_com.h BIN CommandCom
10    DEPENDS native-bin2c command)
11#####################################
12
13include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/fast486)
14
15spec2def(ntvdm.exe ntvdm.spec ADD_IMPORTLIB)
16
17list(APPEND SOURCE
18    bios/bios32/bios32.c
19    bios/bios32/dskbios32.c
20    bios/bios32/kbdbios32.c
21    bios/bios32/moubios32.c
22    bios/bios32/vbe.c
23    bios/bios32/vidbios32.c
24    bios/bios.c
25    bios/kbdbios.c
26    bios/rom.c
27    bios/umamgr.c
28    bios/vidbios.c
29    cpu/bop.c
30    cpu/callback.c
31    cpu/cpu.c
32    cpu/registers.c
33    hardware/cmos.c
34    hardware/disk.c
35    hardware/dma.c
36    hardware/keyboard.c
37    hardware/mouse.c
38    hardware/pic.c
39    hardware/pit.c
40    hardware/ppi.c
41    hardware/ps2.c
42    hardware/sound/speaker.c
43    hardware/video/svga.c
44    dos/dos32krnl/bios.c
45    dos/dos32krnl/condrv.c
46    dos/dos32krnl/country.c
47    dos/dos32krnl/device.c
48    dos/dos32krnl/dos.c
49    dos/dos32krnl/dosfiles.c
50    dos/dos32krnl/emsdrv.c
51    dos/dos32krnl/handle.c
52    dos/dos32krnl/himem.c
53    dos/dos32krnl/memory.c
54    dos/dos32krnl/process.c
55    dos/dem.c
56    dos/mouse32.c
57    ${CMAKE_CURRENT_BINARY_DIR}/command_com.c
58    clock.c
59    emulator.c
60    int32.c
61    io.c
62    memory.c
63    utils.c
64    vddsup.c
65    ntvdm.c
66    ntvdm.h)
67
68file(GLOB ntvdm_rc_deps res/*.*)
69add_rc_deps(ntvdm.rc ${ntvdm_rc_deps})
70
71add_executable(ntvdm
72    ${SOURCE}
73    ntvdm.rc
74    ${CMAKE_CURRENT_BINARY_DIR}/ntvdm.def)
75
76set_target_properties(ntvdm
77    PROPERTIES
78    ENABLE_EXPORTS TRUE
79    DEFINE_SYMBOL "")
80
81add_pch(ntvdm ntvdm.h SOURCE)
82set_module_type(ntvdm win32cui UNICODE IMAGEBASE 0x0F000000)
83target_link_libraries(ntvdm fast486 ${PSEH_LIB})
84add_importlibs(ntvdm user32 gdi32 advapi32 comdlg32 msvcrt kernel32 ntdll)
85add_cd_file(TARGET ntvdm DESTINATION reactos/system32 FOR all)
86