X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=ntoskrnl%2FCMakeLists.txt;h=d1ee38201d3e8d9fbe60225da0347d89bc9f1dac;hp=5d3432d398080c927ad68413b44010bfc6dc7fab;hb=d8e92b5a0a791fda5bdd68ed4b4d5a3e8ac00536;hpb=acd03fd182fb4b0368e386b15be3c30e6997e38e diff --git a/ntoskrnl/CMakeLists.txt b/ntoskrnl/CMakeLists.txt index 5d3432d3980..d1ee38201d3 100644 --- a/ntoskrnl/CMakeLists.txt +++ b/ntoskrnl/CMakeLists.txt @@ -10,7 +10,6 @@ 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 @@ -19,6 +18,7 @@ add_executable(ntoskrnl guid.c ntoskrnl.rc ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl.def) +set_property(TARGET ntoskrnl PROPERTY ENABLE_EXPORTS TRUE) if(ARCH STREQUAL "i386") set_entrypoint(ntoskrnl KiSystemStartup 4) @@ -29,25 +29,22 @@ set_subsystem(ntoskrnl native) if(MSVC) set_image_base(ntoskrnl 0x00400000) + add_target_link_flags(ntoskrnl "/SECTION:.rsrc,!DP") #Accessed from bugcheck code else() - set_image_base(ntoskrnl 0x80800000) + if(GDB) + set_image_base(ntoskrnl 0x00800000) + else() + set_image_base(ntoskrnl 0x80800000) + endif() endif() -# Linker bug -if(NOT MSVC AND LTCG) - add_target_link_flags(ntoskrnl "-shared") -endif() +target_link_libraries(ntoskrnl cportlib csq ${PSEH_LIB} cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr wdmguid ioevent) -target_link_libraries(ntoskrnl - cportlib - csq - ${PSEH_LIB} - cmlib - 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) @@ -61,3 +58,4 @@ endif() add_asm_files(ntdllsys_asm ntdll.S) add_library(ntdllsys ${ntdllsys_asm}) set_target_properties(ntdllsys PROPERTIES LINKER_LANGUAGE "C") +add_dependencies(ntdllsys asm) \ No newline at end of file