spec2def(hal.dll hal.spec) if(ARCH MATCHES i386) add_definitions( -D_NTHALDLL_ -D_NTHAL_) include_directories( halx86/include ${REACTOS_SOURCE_DIR}/ntoskrnl/include) list(APPEND HAL_GENERIC_SOURCE halx86/generic/beep.c halx86/generic/cmos.c halx86/generic/display.c halx86/generic/dma.c halx86/generic/drive.c halx86/generic/memory.c halx86/generic/misc.c halx86/generic/profil.c halx86/generic/reboot.c halx86/generic/sysinfo.c halx86/generic/timer.c halx86/generic/usage.c) list(APPEND HAL_GENERIC_SOURCE halx86/generic/bios.c halx86/generic/halinit.c halx86/generic/i386/portio.c halx86/generic/i386/systimer.S halx86/generic/i386/trap.S) list(APPEND HAL_GENERIC_PCAT_SOURCE halx86/generic/legacy/bus/bushndlr.c halx86/generic/legacy/bus/cmosbus.c halx86/generic/legacy/bus/isabus.c halx86/generic/legacy/bus/pcibus.c halx86/generic/legacy/bus/pcidata.c halx86/generic/legacy/bus/sysbus.c halx86/generic/legacy/bussupp.c halx86/generic/legacy/halpcat.c) list(APPEND HAL_GENERIC_UP_SOURCE halx86/generic/spinlock.c halx86/up/pic.c halx86/up/processor.c) list(APPEND HAL_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/hal_hal.h.gch ${HAL_GENERIC_SOURCE} ${HAL_GENERIC_PCAT_SOURCE} ${HAL_GENERIC_UP_SOURCE} halx86/up/halinit_up.c halx86/up/halup.rc ${CMAKE_CURRENT_BINARY_DIR}/hal.def) add_library(hal SHARED ${HAL_SOURCE}) add_pch(hal ${CMAKE_CURRENT_SOURCE_DIR}/halx86/include/hal.h ${HAL_SOURCE}) add_dependencies(hal psdk bugcodes) set_entrypoint(hal HalInitSystem@8) set_subsystem(hal native) set_image_base(hal 0x00010000) add_importlibs(hal ntoskrnl) target_link_libraries(hal libcntpr) list(APPEND MINI_HAL_SOURCE halx86/generic/legacy/bus/bushndlr.c halx86/generic/legacy/bus/cmosbus.c halx86/generic/legacy/bus/isabus.c halx86/generic/legacy/bus/pcibus.c halx86/generic/legacy/bus/sysbus.c halx86/generic/legacy/bussupp.c halx86/generic/beep.c halx86/generic/bios.c halx86/generic/cmos.c halx86/generic/dma.c halx86/generic/display.c halx86/generic/drive.c halx86/generic/misc.c halx86/generic/profil.c halx86/generic/reboot.c halx86/generic/spinlock.c halx86/generic/sysinfo.c halx86/generic/timer.c halx86/generic/usage.c halx86/up/halinit_up.c halx86/up/pic.c halx86/up/processor.c) if(ARCH MATCHES i386) list(APPEND MINI_HAL_SOURCE halx86/generic/i386/portio.c halx86/generic/i386/systimer.S) endif(ARCH MATCHES i386) add_library(mini_hal ${MINI_HAL_SOURCE}) set_property(TARGET mini_hal PROPERTY COMPILE_DEFINITIONS "_BLDR_;_MINIHAL_") add_dependencies(mini_hal psdk bugcodes asm) add_minicd_target(hal reactos hal.dll) add_livecd_target(hal reactos/system32) else() #TBD endif(ARCH MATCHES i386) add_importlib_target(hal.spec)