add_definitions( -D_NTOSKRNL_ -DNO_RTL_INLINES -D_NTSYSTEM_ -D_NTDLLBUILD_) if(MSVC) # error C4101: unreferenced local variable in Release-Configuration due to debug logging replace_compile_flags("/we4101" " ") endif() list(APPEND SOURCE access.c acl.c actctx.c appverifier.c assert.c atom.c avltable.c bitmap.c bootdata.c compress.c crc32.c critical.c dbgbuffer.c debug.c dos8dot3.c encode.c env.c error.c exception.c generictable.c handle.c heap.c heapdbg.c heappage.c heapuser.c image.c interlck.c memstream.c message.c largeint.c luid.c network.c nls.c path.c ppb.c prefix.c priv.c process.c propvar.c random.c rangelist.c registry.c res.c resource.c rxact.c sd.c security.c slist.c sid.c splaytree.c sysvol.c thread.c time.c timezone.c timerqueue.c trace.c unicode.c unicodeprefix.c vectoreh.c version.c wait.c workitem.c rtl.h) if(ARCH STREQUAL "i386") list(APPEND ASM_SOURCE i386/debug_asm.S i386/except_asm.s i386/interlck.S i386/rtlmem.s i386/rtlswap.S i386/res_asm.s) list(APPEND SOURCE i386/except.c i386/thread.c) elseif(ARCH STREQUAL "amd64") list(APPEND ASM_SOURCE amd64/debug_asm.S amd64/except_asm.S amd64/slist.S) list(APPEND SOURCE bitmap64.c byteswap.c amd64/unwind.c amd64/stubs.c mem.c) elseif(ARCH STREQUAL "arm") list(APPEND ASM_SOURCE arm/debug_asm.S) list(APPEND SOURCE arm/except.c byteswap.c mem.c) elseif(ARCH STREQUAL "powerpc") list(APPEND ASM_SOURCE powerpc/rtlmem.s powerpc/rtlswap.s) list(APPEND SOURCE byteswap.c powerpc/debug.c powerpc/except.c powerpc/interlocked.c powerpc/thread.c) endif() add_asm_files(rtl_asm ${ASM_SOURCE}) add_library(rtl ${SOURCE} ${rtl_asm}) #disable pch to prevent macro redefinition rtl.h WIN32_NO_STATUS #add_pch(rtl rtl.h SOURCE) add_dependencies(rtl psdk asm)