4 add_definitions(-D_NTHALDLL_)
5 add_definitions(-D_NTHAL_)
7 include_directories(halx86/include)
8 include_directories(${REACTOS_SOURCE_DIR}/ntoskrnl/include)
10 list(APPEND HAL_GENERIC_SOURCE
13 halx86/generic/display.c
15 halx86/generic/drive.c
16 halx86/generic/memory.c
18 halx86/generic/profil.c
19 halx86/generic/reboot.c
20 halx86/generic/sysinfo.c
21 halx86/generic/timer.c
22 halx86/generic/usage.c)
24 list(APPEND HAL_GENERIC_SOURCE
26 halx86/generic/halinit.c
27 halx86/generic/i386/portio.c
28 halx86/generic/i386/systimer.S
29 halx86/generic/i386/trap.S)
31 add_library(hal_generic ${HAL_GENERIC_SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/hal_generic_hal.h.gch)
32 add_pch(hal_generic ${CMAKE_CURRENT_SOURCE_DIR}/halx86/include/hal.h ${HAL_GENERIC_SOURCE})
33 add_dependencies(hal_generic psdk bugcodes)
35 list(APPEND HAL_GENERIC_PCAT_SOURCE
36 halx86/generic/legacy/bus/bushndlr.c
37 halx86/generic/legacy/bus/cmosbus.c
38 halx86/generic/legacy/bus/isabus.c
39 halx86/generic/legacy/bus/pcibus.c
40 halx86/generic/legacy/bus/pcidata.c
41 halx86/generic/legacy/bus/sysbus.c
42 halx86/generic/legacy/bussupp.c
43 halx86/generic/legacy/halpcat.c)
45 add_library(hal_generic_pcat ${HAL_GENERIC_PCAT_SOURCE})
46 add_dependencies(hal_generic_pcat psdk)
48 list(APPEND HAL_GENERIC_UP_SOURCE
49 halx86/generic/spinlock.c
51 halx86/up/processor.c)
53 add_library(hal_generic_up ${HAL_GENERIC_UP_SOURCE})
54 add_dependencies(hal_generic_up psdk)
56 set(CMAKE_C_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
58 add_library(hal SHARED halx86/up/halinit_up.c halx86/up/halup.rc)
60 set_target_properties(hal PROPERTIES LINK_FLAGS "-Wl,-entry,_HalInitSystem@8")
62 target_link_libraries(hal
63 ${CMAKE_CURRENT_SOURCE_DIR}/halx86/hal_i386.def
64 -Wl,--whole-archive hal_generic -Wl,--no-whole-archive
67 ${REACTOS_SOURCE_DIR}/ntoskrnl/libntoskrnl.a
72 endif(ARCH MATCHES i386)