mirror of
https://github.com/reactos/reactos.git
synced 2024-08-14 07:06:23 +00:00
9bc48b336f
[LSALIB] - Add old-school annotations (as we currently do in our main .c code of our stuff). - Mention that LsaConnectUntrusted is not an API that is exported (& implemented) by ntoskrnl. - For LsaRegisterLogonProcess, we first wait for the LSA server to be ready (by waiting on its initialization event). This is TODO for LsaConnectUntrusted on the contrary. [LSALIB][NTOS] Usa the lsalib as the implementation of the LSA functions exported by ntoskrnl. But for that we need to recompile the lsalib as a library that can be used from inside ntoskrnl, because it needs some functions that are normally exported by ntos. For this purpose I add the library target "ntlsalib" (which also specify different #defines), to differentiate it from the (user-mode) "lsalib" one that is used by secur32.dll (Amine, if you have a better idea on how to do that, please let me know!). svn path=/trunk/; revision=72751
60 lines
1.5 KiB
CMake
60 lines
1.5 KiB
CMake
|
|
PROJECT(NTOS)
|
|
|
|
include(ntos.cmake)
|
|
|
|
set(NTOSKRNL_SOURCE ${SOURCE})
|
|
set(NTOSKRNL_ASM_SOURCE ${ASM_SOURCE})
|
|
|
|
set(NTKRNLMP_SOURCE ${SOURCE})
|
|
set(NTKRNLMP_ASM_SOURCE ${ASM_SOURCE})
|
|
|
|
spec2def(ntoskrnl.exe ntoskrnl.spec ADD_IMPORTLIB)
|
|
add_asm_files(ntoskrnl_asm ${NTOSKRNL_ASM_SOURCE})
|
|
|
|
add_executable(ntoskrnl
|
|
${ntoskrnl_asm}
|
|
${NTOSKRNL_SOURCE}
|
|
guid.c
|
|
ntoskrnl.rc
|
|
${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl.def)
|
|
|
|
if(ARCH STREQUAL "i386")
|
|
set_entrypoint(ntoskrnl KiSystemStartup 4)
|
|
else()
|
|
set_entrypoint(ntoskrnl KiSystemStartup)
|
|
endif()
|
|
set_subsystem(ntoskrnl native)
|
|
|
|
if(MSVC)
|
|
set_image_base(ntoskrnl 0x00400000)
|
|
add_target_link_flags(ntoskrnl "/SECTION:.rsrc,!DP") #Accessed from bugcheck code
|
|
else()
|
|
if(GDB)
|
|
set_image_base(ntoskrnl 0x00800000)
|
|
else()
|
|
set_image_base(ntoskrnl 0x80800000)
|
|
endif()
|
|
endif()
|
|
|
|
target_link_libraries(ntoskrnl cportlib csq ${PSEH_LIB} cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr wdmguid ioevent)
|
|
|
|
if(STACK_PROTECTOR)
|
|
target_link_libraries(ntoskrnl gcc_ssp)
|
|
elseif(RUNTIME_CHECKS)
|
|
target_link_libraries(ntoskrnl runtmchk)
|
|
endif()
|
|
|
|
add_importlibs(ntoskrnl hal kdcom bootvid)
|
|
add_pch(ntoskrnl ${REACTOS_SOURCE_DIR}/ntoskrnl/include/ntoskrnl.h NTOSKRNL_SOURCE)
|
|
add_dependencies(ntoskrnl psdk bugcodes asm)
|
|
add_cd_file(TARGET ntoskrnl DESTINATION reactos/system32 NO_CAB FOR all)
|
|
|
|
if(BUILD_MP)
|
|
add_subdirectory(ntkrnlmp)
|
|
endif()
|
|
|
|
add_asm_files(ntdllsys_asm ntdll.S)
|
|
add_library(ntdllsys ${ntdllsys_asm})
|
|
set_target_properties(ntdllsys PROPERTIES LINKER_LANGUAGE "C")
|