reactos/hal/CMakeLists.txt
Jérôme Gardou d738b24b6f [CMAKE]
- use correct link script file for freeldr and setupldr
  - use correct definition file for advapi32
  - don't specify name to add_bootcd_target if not needed
  - portcls is not a kernel mode driver
  - Disable stcall fixup, except for mesa32 which requires it
  - remove an useless file from minihal, add a forgotten one to freeldr

svn path=/branches/cmake-bringup/; revision=49615
2010-11-18 21:32:10 +00:00

107 lines
2.8 KiB
CMake

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)
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
${CMAKE_CURRENT_SOURCE_DIR}/halx86/hal_i386.def
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)
add_minicd_target(hal reactos hal.dll)
add_livecd_target(hal reactos/system32)
else()
#TBD
endif(ARCH MATCHES i386)