1 2add_subdirectory(nt_0600) 3 4spec2def(ntdll.dll def/ntdll.spec ADD_IMPORTLIB) 5 6# Embed RTC libs 7if (STACK_PROTECTOR) 8 target_sources(libntdll PRIVATE $<TARGET_OBJECTS:gcc_ssp_nt>) 9endif() 10 11add_definitions( 12 -D__NTDLL__ 13 -D_NTOSKRNL_ 14 -DCRTDLL) 15 16include_directories( 17 BEFORE include 18 ${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys) 19 20list(APPEND SOURCE 21 dbg/dbgui.c 22 ldr/ldrapi.c 23 ldr/ldrinit.c 24 ldr/ldrpe.c 25 ldr/ldrutils.c 26 ldr/verifier.c 27 rtl/libsupp.c 28 rtl/uilist.c 29 rtl/version.c 30 etw/trace.c) 31 32if(ARCH STREQUAL "i386") 33 list(APPEND ASM_SOURCE dispatch/i386/dispatch.S) 34elseif(ARCH STREQUAL "amd64") 35 list(APPEND ASM_SOURCE dispatch/amd64/dispatch.S) 36elseif(ARCH STREQUAL "arm") 37 list(APPEND ASM_SOURCE dispatch/arm/stubs_asm.s) 38else() 39 list(APPEND SOURCE dispatch/dispatch.c) 40endif() 41 42add_asm_files(ntdll_asm ${ASM_SOURCE}) 43 44list(APPEND PCH_SKIP_SOURCE 45 ${CMAKE_CURRENT_BINARY_DIR}/ntdll_stubs.c) 46 47add_library(ntdll MODULE 48 ${SOURCE} 49 ${ntdll_asm} 50 ${PCH_SKIP_SOURCE} 51 def/ntdll.rc 52 ${CMAKE_CURRENT_BINARY_DIR}/ntdll.def) 53 54set_module_type(ntdll win32dll ENTRYPOINT 0) 55############################################# 56## HACK FOR MSVC COMPILATION WITH win32dll ## 57set_subsystem(ntdll console) 58################# END HACK ################# 59 60target_link_libraries(ntdll csrlib rtl rtl_vista ntdllsys libcntpr uuid ${PSEH_LIB}) 61 62if (STACK_PROTECTOR) 63 target_sources(ntdll PRIVATE $<TARGET_OBJECTS:gcc_ssp_nt>) 64endif() 65 66add_pch(ntdll include/ntdll.h "${PCH_SKIP_SOURCE}") 67add_dependencies(ntdll ntstatus asm) 68add_cd_file(TARGET ntdll DESTINATION reactos/system32 NO_CAB FOR all) 69