a161f32dd402850ce0d874a0d61fa6644910ae91
[reactos.git] / dll / ntdll / CMakeLists.txt
1
2 set(CMAKE_C_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
3
4 add_definitions(-D__NTDLL__)
5 add_definitions(-D_NTOSKRNL_)
6 add_definitions(-DCRTDLL)
7
8 include_directories(BEFORE ./include)
9 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/subsys)
10
11 file(GLOB_RECURSE SOURCE *.c)
12 list(REMOVE_ITEM SOURCE
13 ${CMAKE_CURRENT_SOURCE_DIR}/ldr/elf.c
14 ${CMAKE_CURRENT_SOURCE_DIR}/dispatch/dispatch.c
15 ${CMAKE_CURRENT_SOURCE_DIR}/dispatch/amd64/stubs.c)
16 file(GLOB_RECURSE ARCH_SOURCE
17 "${CMAKE_CURRENT_SOURCE_DIR}/dispatch/${ARCH}/*.c"
18 "${CMAKE_CURRENT_SOURCE_DIR}/dispatch/${ARCH}/*.s")
19
20 add_library(ntdll SHARED
21 ${ARCH_SOURCE} ${SOURCE}
22 ${CMAKE_CURRENT_SOURCE_DIR}/def/ntdll.rc
23 ${CMAKE_CURRENT_BINARY_DIR}/ntdll_ntdll.h.gch)
24
25 set_target_properties(ntdll PROPERTIES LINK_FLAGS "-Wl,-entry,0")
26
27 target_link_libraries(ntdll ${CMAKE_CURRENT_SOURCE_DIR}/def/ntdll.def
28 -Wl,--whole-archive rtl -Wl,--no-whole-archive
29 ntdllsys
30 libcntpr
31 pseh)
32
33 add_pch(ntdll ${CMAKE_CURRENT_SOURCE_DIR}/include/ntdll.h ${SOURCE})
34 add_dependencies(ntdll ntstatus version)