reactos/reactos/ntoskrnl/CMakeLists.txt
Hermès Bélusca-Maïto 9bc48b336f [SECUR32][NTOS]: Update the LSA export signatures for the functions that are implemented in the "lsalib" library.
[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
2016-09-20 23:43:16 +00:00

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")