reactos/sdk/lib/rtl/CMakeLists.txt
Jérôme Gardou d1f5c31820 [SDK] Add GCC overrides for SAL annotations
GCC has some functions, variables & type attributes which can be used as aliases
for some of the SAL annotations. Although it's not as rich & precise, it's still useful
since we actually enable -Werror on GCC builds whereas we don't use such an option
on MSVC builds.

For now, _Must_inspect_result_ is aliased to warn_result_unused attribute.
2021-06-28 10:20:57 +02:00

135 lines
2.4 KiB
CMake

add_definitions(
-D_NTOSKRNL_
-DNO_RTL_INLINES
-D_NTSYSTEM_
-D_NTDLLBUILD_)
if (GCC)
# Enable this again. CORE-17637
add_compile_options(-Wunused-result)
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/except.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})
target_link_libraries(rtl PRIVATE pseh)
add_pch(rtl rtl.h SOURCE)
add_dependencies(rtl psdk asm)
list(APPEND SOURCE_VISTA
condvar.c
runonce.c
srw.c
)
add_library(rtl_vista ${SOURCE_VISTA})
add_pch(rtl_vista rtl_vista.h SOURCE_VISTA)
add_dependencies(rtl_vista psdk)
target_link_libraries(rtl_vista PRIVATE pseh)