Reactos
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 65 lines 1.9 kB view raw
1 2PROJECT(NTOS) 3 4if (CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang") 5 # Enable this again. CORE-17637 6 add_compile_options(-Wunused-result) 7endif() 8 9include(ntos.cmake) 10 11set(NTOSKRNL_SOURCE ${SOURCE}) 12set(NTOSKRNL_ASM_SOURCE ${ASM_SOURCE}) 13 14set(NTKRNLMP_SOURCE ${SOURCE}) 15set(NTKRNLMP_ASM_SOURCE ${ASM_SOURCE}) 16 17spec2def(ntoskrnl.exe ntoskrnl.spec ADD_IMPORTLIB) 18 19# Link GCC stack protector lib 20if (STACK_PROTECTOR) 21 target_link_libraries(libntoskrnl INTERFACE gcc_ssp_nt) 22endif() 23 24add_asm_files(ntoskrnl_asm ${NTOSKRNL_ASM_SOURCE}) 25 26if(CMAKE_C_COMPILER_ID STREQUAL "Clang") 27 # Clang optimises strcmp calls to memcmp. 28 target_link_libraries(libntoskrnl INTERFACE memcmp) 29endif() 30 31if((CMAKE_C_COMPILER_ID STREQUAL "Clang") OR (CMAKE_C_COMPILER_ID STREQUAL "GNU")) 32 # Enable xsave feature 33 add_compile_options(-mxsave) 34endif() 35 36list(APPEND PCH_SKIP_SOURCE 37 guid.c) 38 39add_executable(ntoskrnl 40 ${ntoskrnl_asm} 41 ${NTOSKRNL_SOURCE} 42 ${PCH_SKIP_SOURCE} 43 ntoskrnl.rc 44 ${CMAKE_CURRENT_BINARY_DIR}/ntoskrnl.def) 45set_module_type(ntoskrnl kernel) 46 47source_group(TREE ${REACTOS_SOURCE_DIR}/ntoskrnl PREFIX "Source Files" FILES ${NTOSKRNL_SOURCE}) 48 49target_link_libraries(ntoskrnl ntoskrnl_vista cportlib csq ${PSEH_LIB} arbiter cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr setjmp wdmguid poguid ioevent) 50 51if(STACK_PROTECTOR) 52 target_link_libraries(ntoskrnl gcc_ssp_nt) 53endif() 54 55add_importlibs(ntoskrnl hal kdcom bootvid) 56add_pch(ntoskrnl ${REACTOS_SOURCE_DIR}/ntoskrnl/include/ntoskrnl.h "${PCH_SKIP_SOURCE}") 57add_dependencies(ntoskrnl psdk asm) 58add_cd_file(TARGET ntoskrnl DESTINATION reactos/system32 NO_CAB FOR all) 59 60add_subdirectory(ntkrnlmp) 61 62add_asm_files(ntdllsys_asm ntdll.S) 63add_library(ntdllsys ${ntdllsys_asm}) 64set_target_properties(ntdllsys PROPERTIES LINKER_LANGUAGE "C") 65add_dependencies(ntdllsys asm)