Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 4.36 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.  
  2. add_custom_command(
  3.   OUTPUT ${REACTOS_BINARY_DIR}/dll/ntdll/ntsys.a
  4.   COMMAND ${MINGW_PREFIX}gcc ${CMAKE_C_FLAGS} -xc -E ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys.pspec > ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys_ntsys.spec
  5.   COMMAND native-winebuild -o ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys_ntsys.stubs.c --pedll ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys_ntsys.spec --filename ntdll.dll
  6.   COMMAND ${MINGW_PREFIX}gcc -o ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys_ntsys.stubs.o ${CMAKE_C_FLAGS} -c ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys_ntsys.stubs.c
  7.   COMMAND native-winebuild -o ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys_ntsys.auto.def --def -E ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys_ntsys.spec --filename ntdll.dll
  8.   COMMAND ${MINGW_PREFIX}dlltool --def ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys_ntsys.auto.def --kill-at --output-lib ${REACTOS_BINARY_DIR}/dll/ntdll/ntsys.a
  9.   COMMAND ${MINGW_PREFIX}ar -rc ${REACTOS_BINARY_DIR}/dll/ntdll/ntsys.a ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntsys_ntsys.stubs.o
  10.   DEPENDS native-winebuild
  11. )
  12.  
  13. set_source_files_properties(${REACTOS_BINARY_DIR}/dll/ntdll/ntsys.a PROPERTIES GENERATED TRUE)
  14.  
  15. add_custom_target(ntsys ALL DEPENDS ${REACTOS_BINARY_DIR}/dll/ntdll/ntsys.a)
  16. add_dependencies(ntsys ntsys_pspec)
  17.  
  18. include_directories(BEFORE include)
  19. include_directories(BEFORE ${REACTOS_SOURCE_DIR}/include/reactos/subsys)
  20.  
  21.  
  22. add_definitions(-D__NTDLL__)
  23. add_definitions(-D_NTOSKRNL_)
  24. add_definitions(-DCRTDLL)
  25.  
  26. get_directory_property(defines COMPILE_DEFINITIONS)
  27.  
  28. foreach(arg ${defines})
  29.   set(result_defs "${result_defs} -D${arg}")
  30. endforeach(arg ${defines})
  31.  
  32. set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -x assembler-with-cpp -o <OBJECT> ${result_defs} -D__ASM__ <FLAGS> -c <SOURCE>")
  33.  
  34. SET(CMAKE_C_CREATE_SHARED_LIBRARY
  35.   "<CMAKE_C_COMPILER> -o ${REACTOS_BINARY_DIR}/dll/ntdll/ntdll.dll --Wl,--entry,0 --Wl,--image-base,0x7c900000 --Wl,-disable-stdcall-fixup --Wl,-file-alignment,0x1000 --Wl,-section-alignment,0x1000 --Wl,--shared --Wl,--exclude-all-symbols e:/rosbe/i386/lib/gcc/mingw32/4.4.3/libgcc.a ${REACTOS_BINARY_DIR}/lib/rtl/librtl.a ${REACTOS_BINARY_DIR}/lib/ntdllsys/libntdllsys.a ${REACTOS_BINARY_DIR}/lib/sdk/crt/liblibcntpr.a ${REACTOS_BINARY_DIR}/lib/pseh/libpseh.a ${REACTOS_BINARY_DIR}/lib/debugsup/debugsup_ntdll.a <OBJECTS>")
  36.  
  37.  
  38. add_custom_command(
  39.   OUTPUT ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.stubs.c ${REACTOS_BINARY_DIR}/dll/ntdll/ntdll.exp
  40.   COMMAND ${MINGW_PREFIX}gcc -I${REACTOS_BINARY_DIR}/include -xc -E ${REACTOS_SOURCE_DIR}/dll/ntdll/def/ntdll.rc
  41.   COMMAND native-wrc -o ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.res  -I${REACTOS_SOURCE_DIR}/dll/ntdll/def  -I${REACTOS_SOURCE_DIR}/dll/ntdll/include -I${REACTOS_BINARY_DIR}/dll/ntdll -I${REACTOS_SOURCE_DIR}/include/reactos/subsys --nostdinc
  42.   COMMAND ${MINGW_PREFIX}windres -i ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.res -o ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.coff -J res -O coff
  43.   COMMAND ${MINGW_PREFIX}gcc -xc -E ${REACTOS_SOURCE_DIR}/dll/ntdll/def/ntdll.pspec > ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.spec
  44.   COMMAND native-winebuild -o ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.stubs.c --pedll ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.spec --filename ntdll.dll
  45.   COMMAND native-winebuild -o ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.auto.def --def -E ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.spec --filename ntdll.dll
  46.   COMMAND ${MINGW_PREFIX}dlltool --def ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.auto.def --kill-at --output-exp=${REACTOS_BINARY_DIR}/dll/ntdll/ntdll.exp
  47.   DEPENDS native-wrc native-winebuild
  48. )
  49.  
  50. set_source_files_properties(${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.stubs.c ${REACTOS_BINARY_DIR}/dll/ntdll/ntdll.exp PROPERTIES GENERATED TRUE)
  51.  
  52. file(GLOB_RECURSE ARCH_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/dispatch/${ARCH}/*.c" "${CMAKE_CURRENT_SOURCE_DIR}/dispatch/${ARCH}/*.s")
  53.  
  54. file(GLOB_RECURSE SOURCE *.c)
  55.  
  56. list(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/ldr/elf.c)
  57.  
  58. if(NOT ARCH MATCHES amd64)
  59. list(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/dispatch/amd64/stubs.c)
  60. endif()
  61.  
  62. add_library(ntdll SHARED ${ARCH_SOURCE} ${SOURCE} ${REACTOS_BINARY_DIR}/dll/ntdll/def/ntdll_ntdll.stubs.c)
  63. set_target_properties(ntdll PROPERTIES PREFIX "")
  64.  
  65.  
  66. target_link_libraries(ntdll rtl ntdllsys libcntpr pseh debugsup_ntdll)
  67. add_dependencies(ntdll ntstatus version)