From 061f46d608446d5e9ce1b526973960d12fda1c97 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 29 Dec 2010 18:28:34 +0000 Subject: [PATCH] [CMAKE] Improve rpcproxy macro split boot/CMakeLists.txt into smaller and clearer CMakeLists.txt svn path=/branches/cmake-bringup/; revision=50215 --- CMakeMacros.cmake | 7 - boot/CMakeLists.txt | 246 +-------------------------- boot/freeldr/CMakeLists.txt | 3 + boot/freeldr/bootsect/CMakeLists.txt | 7 + boot/freeldr/freeldr/CMakeLists.txt | 242 ++++++++++++++++++++++++++ dll/directx/quartz/CMakeLists.txt | 9 +- dll/win32/actxprxy/CMakeLists.txt | 25 ++- dll/win32/ole32/CMakeLists.txt | 1 - dll/win32/oleaut32/CMakeLists.txt | 5 +- dll/win32/qmgrprxy/CMakeLists.txt | 6 +- dll/win32/sti/CMakeLists.txt | 4 +- dll/win32/urlmon/CMakeLists.txt | 9 +- 12 files changed, 283 insertions(+), 281 deletions(-) create mode 100644 boot/freeldr/CMakeLists.txt create mode 100644 boot/freeldr/bootsect/CMakeLists.txt create mode 100644 boot/freeldr/freeldr/CMakeLists.txt diff --git a/CMakeMacros.cmake b/CMakeMacros.cmake index 81a0a4b0696..a6014ce57e8 100644 --- a/CMakeMacros.cmake +++ b/CMakeMacros.cmake @@ -181,10 +181,6 @@ macro(rpcproxy TARGET) PROPERTIES GENERATED TRUE) list(APPEND SOURCE ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_p.c) list(APPEND IDLS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.idl) - list(APPEND PROXY_DEPENDS ${TARGET}_${FILE}_p) - add_custom_target(${TARGET}_${FILE}_p - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_p.c) - #add_dependencies(${TARGET}_proxy ${TARGET}_${FILE}_p) endforeach() add_custom_command( @@ -194,9 +190,6 @@ macro(rpcproxy TARGET) set_source_files_properties( ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_proxy.dlldata.c PROPERTIES GENERATED TRUE) - - add_library(${TARGET}_proxy ${SOURCE}) - add_dependencies(${TARGET}_proxy psdk ${PROXY_DEPENDS}) endmacro() macro(idl_files) diff --git a/boot/CMakeLists.txt b/boot/CMakeLists.txt index 866c10aef49..d19e3f138d4 100644 --- a/boot/CMakeLists.txt +++ b/boot/CMakeLists.txt @@ -1,249 +1,6 @@ -CreateBootSectorTarget(dosmbr ${CMAKE_CURRENT_SOURCE_DIR}/freeldr/bootsect/dosmbr.asm ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/dosmbr.bin) -CreateBootSectorTarget(ext2 ${CMAKE_CURRENT_SOURCE_DIR}/freeldr/bootsect/ext2.asm ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/ext2.bin) -CreateBootSectorTarget(fat32 ${CMAKE_CURRENT_SOURCE_DIR}/freeldr/bootsect/fat32.asm ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/fat32.bin) -CreateBootSectorTarget(fat ${CMAKE_CURRENT_SOURCE_DIR}/freeldr/bootsect/fat.asm ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/fat.bin) -CreateBootSectorTarget(isoboot ${CMAKE_CURRENT_SOURCE_DIR}/freeldr/bootsect/isoboot.asm ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin) -CreateBootSectorTarget(isobtrt ${CMAKE_CURRENT_SOURCE_DIR}/freeldr/bootsect/isobtrt.asm ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isobtrt.bin) +add_subdirectory(freeldr) -include_directories(BEFORE freeldr/freeldr/include) -include_directories(${REACTOS_SOURCE_DIR}/ntoskrnl/include) - -if(ARCH MATCHES arm) - if(SARCH MATCHES omap-zoom2) - add_definitions(-D_ZOOM2_) - endif() -endif() - -if(ARCH MATCHES i386) -if(MSVC) -list(APPEND FREELDR_BASE64K_SOURCE - freeldr/freeldr/arch/i386/realmode.S) -else() -list(APPEND FREELDR_STARTUP_SOURCE - freeldr/freeldr/arch/i386/fathelp.S - freeldr/freeldr/arch/i386/arch.S) -endif() -elseif(ARCH MATCHES amd64) -list(APPEND FREELDR_STARTUP_SOURCE - freeldr/freeldr/arch/i386/fathelp.S - freeldr/freeldr/arch/amd64/arch.S) -endif(ARCH MATCHES i386) - -if(ARCH MATCHES i386) -if(NOT MSVC) -list(APPEND FREELDR_BASE64K_SOURCE - freeldr/freeldr/arch/i386/boot.S - freeldr/freeldr/arch/i386/drvmap.S - freeldr/freeldr/arch/i386/i386cpu.S - freeldr/freeldr/arch/i386/i386idt.S - freeldr/freeldr/arch/i386/i386pnp.S - freeldr/freeldr/arch/i386/i386trap.S - freeldr/freeldr/arch/i386/int386.S - freeldr/freeldr/arch/i386/linux.S - freeldr/freeldr/arch/i386/mb.S - freeldr/freeldr/arch/i386/i386bug.c) -endif() -elseif(ARCH MATCHES amd64) -list(APPEND FREELDR_BASE64K_SOURCE - freeldr/freeldr/arch/i386/drvmap.S - freeldr/freeldr/arch/i386/i386cpu.S - freeldr/freeldr/arch/i386/i386idt.S - freeldr/freeldr/arch/i386/i386trap.S - freeldr/freeldr/arch/amd64/mb.S) -endif(ARCH MATCHES i386) - -set_source_files_properties(${FREELDR_BASE64K_SOURCE} PROPERTIES COMPILE_DEFINITIONS "_NTHAL_") - -include_directories(${REACTOS_SOURCE_DIR}/lib/cmlib) - -list(APPEND FREELDR_BASE_SOURCE - freeldr/freeldr/arcemul/mm.c - freeldr/freeldr/arcemul/time.c - freeldr/freeldr/cache/blocklist.c - freeldr/freeldr/cache/cache.c - freeldr/freeldr/comm/rs232.c - freeldr/freeldr/disk/disk.c - freeldr/freeldr/disk/partition.c - freeldr/freeldr/disk/ramdisk.c - freeldr/freeldr/disk/scsiport.c - freeldr/freeldr/fs/ext2.c - freeldr/freeldr/fs/fat.c - freeldr/freeldr/fs/fs.c - freeldr/freeldr/fs/iso.c - freeldr/freeldr/fs/ntfs.c - freeldr/freeldr/inifile/ini_init.c - freeldr/freeldr/inifile/inifile.c - freeldr/freeldr/inifile/parse.c - freeldr/freeldr/mm/meminit.c - freeldr/freeldr/mm/mm.c - freeldr/freeldr/reactos/registry.c - freeldr/freeldr/reactos/arcname.c - freeldr/freeldr/reactos/archwsup.c - freeldr/freeldr/reactos/binhive.c - freeldr/freeldr/reactos/reactos.c - freeldr/freeldr/reactos/imageldr.c - freeldr/freeldr/rtl/bget.c - freeldr/freeldr/rtl/libsupp.c - freeldr/freeldr/ui/directui.c - freeldr/freeldr/ui/gui.c - freeldr/freeldr/ui/minitui.c - freeldr/freeldr/ui/noui.c - freeldr/freeldr/ui/tui.c - freeldr/freeldr/ui/tuimenu.c - freeldr/freeldr/ui/ui.c - freeldr/freeldr/video/fade.c - freeldr/freeldr/video/palette.c - freeldr/freeldr/video/video.c - freeldr/freeldr/windows/conversion.c - freeldr/freeldr/windows/peloader.c - freeldr/freeldr/windows/winldr.c - freeldr/freeldr/windows/wlmemory.c - freeldr/freeldr/windows/wlregistry.c - freeldr/freeldr/freeldr.c - freeldr/freeldr/debug.c - freeldr/freeldr/version.c - freeldr/freeldr/cmdline.c - freeldr/freeldr/machine.c - freeldr/freeldr/options.c - freeldr/freeldr/linuxboot.c - freeldr/freeldr/oslist.c) - -if(ARCH MATCHES i386) -list(APPEND FREELDR_BASE_SOURCE - freeldr/freeldr/windows/headless.c - freeldr/freeldr/disk/scsiport.c) -endif(ARCH MATCHES i386) - -set_source_files_properties(${FREELDR_BASE_SOURCE} PROPERTIES COMPILE_DEFINITIONS "_NTHAL_;_BLDR_;_NTSYSTEM_") - -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs) -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/elf) - -if(ARCH MATCHES i386) -list(APPEND FREELDR_ARCH_SOURCE - freeldr/freeldr/arch/i386/archmach.c - freeldr/freeldr/arch/i386/custom.c - freeldr/freeldr/arch/i386/drivemap.c - freeldr/freeldr/arch/i386/halstub.c - freeldr/freeldr/arch/i386/hardware.c - freeldr/freeldr/arch/i386/hwacpi.c - freeldr/freeldr/arch/i386/hwapm.c - freeldr/freeldr/arch/i386/hwpci.c - freeldr/freeldr/arch/i386/i386disk.c - freeldr/freeldr/arch/i386/i386rtl.c - freeldr/freeldr/arch/i386/i386vid.c - freeldr/freeldr/arch/i386/loader.c - freeldr/freeldr/arch/i386/machpc.c - freeldr/freeldr/arch/i386/miscboot.c - freeldr/freeldr/arch/i386/ntoskrnl.c - freeldr/freeldr/arch/i386/pccons.c - freeldr/freeldr/arch/i386/pcdisk.c - freeldr/freeldr/arch/i386/pcmem.c - freeldr/freeldr/arch/i386/pcrtc.c - freeldr/freeldr/arch/i386/pcvideo.c - freeldr/freeldr/arch/i386/machxbox.c - freeldr/freeldr/arch/i386/xboxcons.c - freeldr/freeldr/arch/i386/xboxdisk.c - freeldr/freeldr/arch/i386/xboxfont.c - freeldr/freeldr/arch/i386/xboxhw.c - freeldr/freeldr/arch/i386/xboxi2c.c - freeldr/freeldr/arch/i386/xboxmem.c - freeldr/freeldr/arch/i386/xboxrtc.c - freeldr/freeldr/arch/i386/xboxvideo.c - freeldr/freeldr/windows/i386/ntsetup.c - freeldr/freeldr/windows/i386/wlmemory.c) -else() -#TBD -endif(ARCH MATCHES i386) - -set_source_files_properties(${FREELDR_ARCH_SOURCE} PROPERTIES COMPILE_DEFINITIONS "_NTHAL_;_BLDR_;_NTSYSTEM_") - -list(APPEND SETUPLDR_MAIN_SOURCE - freeldr/freeldr/bootmgr.c - freeldr/freeldr/inffile/inffile.c - freeldr/freeldr/reactos/setupldr.c) - -if(ARCH MATCHES i386) -list(APPEND SETUPLDR_MAIN_SOURCE freeldr/freeldr/windows/setupldr2.c) -elseif(ARCH MATCHES amd64) -list(APPEND SETUPLDR_MAIN_SOURCE freeldr/freeldr/windows/setupldr2.c) -endif(ARCH MATCHES i386) - -set_source_files_properties(${SETUPLDR_MAIN_SOURCE} PROPERTIES COMPILE_FLAGS "-ffreestanding -fno-builtin -fno-inline -fno-zero-initialized-in-bss") - - - -list(APPEND FREELDR_SOURCE - freeldr/freeldr/bootmgr.c - ${FREELDR_STARTUP_SOURCE} - ${FREELDR_BASE64K_SOURCE} - ${FREELDR_BASE_SOURCE} - ${FREELDR_ARCH_SOURCE}) - -add_library(freeldr SHARED - ${CMAKE_CURRENT_BINARY_DIR}/freeldr_freeldr.h.gch - ${FREELDR_SOURCE}) - -if(NOT MSVC) -set_target_properties(freeldr PROPERTIES LINK_FLAGS "-Wl,--strip-all -Wl,--exclude-all-symbols -Wl,--file-alignment,0x1000 -Wl,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr/freeldr/freeldr_i386.lnk" SUFFIX ".sys") -set_image_base(freeldr 0x8000) -else() -set_target_properties(freeldr PROPERTIES LINK_FLAGS "/DRIVER /FIXED /ALIGN:0x400 /SECTION:.text,ERW /SECTION:.data,RW /MERGE:.text16=.text /MERGE:.data=.text /MERGE:.rdata=.text /MERGE:.bss=.text /SUBSYSTEM:BOOT_APPLICATION" SUFFIX ".sys") -set_image_base(freeldr 0x10000) -endif() - -set_subsystem(freeldr native) -set_entrypoint(freeldr mainCRTStartup) - -if(ARCH MATCHES i386) -target_link_libraries(freeldr mini_hal) -endif(ARCH MATCHES i386) - -target_link_libraries(freeldr - cportlib - rossym - cmlib - rtl - libcntpr) -add_pch(freeldr ${CMAKE_CURRENT_SOURCE_DIR}/freeldr/freeldr/include/freeldr.h ${FREELDR_SOURCE}) -add_dependencies(freeldr asm) - -list(APPEND SETUPLDR_SOURCE - ${FREELDR_STARTUP_SOURCE} - ${FREELDR_BASE64K_SOURCE} - ${FREELDR_BASE_SOURCE} - ${FREELDR_ARCH_SOURCE} - ${SETUPLDR_MAIN_SOURCE}) - -add_library(setupldr SHARED ${SETUPLDR_SOURCE}) - -if(NOT MSVC) -set_target_properties(setupldr PROPERTIES LINK_FLAGS "-Wl,--strip-all -Wl,--exclude-all-symbols -Wl,--file-alignment,0x1000 -Wl,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr/freeldr/freeldr_i386.lnk" SUFFIX ".sys" COMPILE_DEFINITIONS "FREELDR_REACTOS_SETUP") -set_image_base(setupldr 0x8000) -else() -set_target_properties(setupldr PROPERTIES LINK_FLAGS "/DRIVER /SECTION:.text,ERWP,ALIGN=0x1000" SUFFIX ".sys" COMPILE_DEFINITIONS "FREELDR_REACTOS_SETUP") -endif() - -set_subsystem(setupldr native) -set_entrypoint(setupldr mainCRTStartup) - -if(ARCH MATCHES i386) -target_link_libraries(setupldr mini_hal) -endif(ARCH MATCHES i386) - -target_link_libraries(setupldr - cportlib - rossym - cmlib - rtl - libcntpr) - -add_dependencies(setupldr asm) - -# Bootcd files -add_minicd_target(setupldr loader setupldr.sys) -add_minicd_target(freeldr loader freeldr.sys) add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/txtsetup.sif reactos txtsetup.sif) add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/bootcd.ini "" freeldr.ini) add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/hivecls_${ARCH}.inf reactos hivecls.inf) @@ -265,7 +22,6 @@ add_custom_command( add_custom_target(livecd_hives DEPENDS ${LIVECD_DIR}/reactos/system32/config/sam) -add_livecd_target(setupldr loader) add_livecd(${REACTOS_SOURCE_DIR}/boot/bootdata/livecd.ini "" freeldr.ini) #regtest diff --git a/boot/freeldr/CMakeLists.txt b/boot/freeldr/CMakeLists.txt new file mode 100644 index 00000000000..859c73a52e6 --- /dev/null +++ b/boot/freeldr/CMakeLists.txt @@ -0,0 +1,3 @@ + +add_subdirectory(bootsect) +add_subdirectory(freeldr) \ No newline at end of file diff --git a/boot/freeldr/bootsect/CMakeLists.txt b/boot/freeldr/bootsect/CMakeLists.txt new file mode 100644 index 00000000000..2ef8f3aaffa --- /dev/null +++ b/boot/freeldr/bootsect/CMakeLists.txt @@ -0,0 +1,7 @@ + +CreateBootSectorTarget(dosmbr ${CMAKE_CURRENT_SOURCE_DIR}/dosmbr.asm ${CMAKE_CURRENT_BINARY_DIR}/dosmbr.bin) +CreateBootSectorTarget(ext2 ${CMAKE_CURRENT_SOURCE_DIR}/ext2.asm ${CMAKE_CURRENT_BINARY_DIR}/ext2.bin) +CreateBootSectorTarget(fat32 ${CMAKE_CURRENT_SOURCE_DIR}/fat32.asm ${CMAKE_CURRENT_BINARY_DIR}/fat32.bin) +CreateBootSectorTarget(fat ${CMAKE_CURRENT_SOURCE_DIR}/fat.asm ${CMAKE_CURRENT_BINARY_DIR}/fat.bin) +CreateBootSectorTarget(isoboot ${CMAKE_CURRENT_SOURCE_DIR}/isoboot.asm ${CMAKE_CURRENT_BINARY_DIR}/isoboot.bin) +CreateBootSectorTarget(isobtrt ${CMAKE_CURRENT_SOURCE_DIR}/isobtrt.asm ${CMAKE_CURRENT_BINARY_DIR}/isobtrt.bin) \ No newline at end of file diff --git a/boot/freeldr/freeldr/CMakeLists.txt b/boot/freeldr/freeldr/CMakeLists.txt new file mode 100644 index 00000000000..01e70534237 --- /dev/null +++ b/boot/freeldr/freeldr/CMakeLists.txt @@ -0,0 +1,242 @@ + +include_directories(BEFORE include) +include_directories(${REACTOS_SOURCE_DIR}/ntoskrnl/include) + +if(ARCH MATCHES arm) + if(SARCH MATCHES omap-zoom2) + add_definitions(-D_ZOOM2_) + endif() +endif() + +if(ARCH MATCHES i386) +if(MSVC) +list(APPEND FREELDR_BASE64K_SOURCE + arch/i386/realmode.S) +else() +list(APPEND FREELDR_STARTUP_SOURCE + arch/i386/fathelp.S + arch/i386/arch.S) +endif() +elseif(ARCH MATCHES amd64) +list(APPEND FREELDR_STARTUP_SOURCE + arch/i386/fathelp.S + arch/amd64/arch.S) +endif(ARCH MATCHES i386) + +if(ARCH MATCHES i386) +if(NOT MSVC) +list(APPEND FREELDR_BASE64K_SOURCE + arch/i386/boot.S + arch/i386/drvmap.S + arch/i386/i386cpu.S + arch/i386/i386idt.S + arch/i386/i386pnp.S + arch/i386/i386trap.S + arch/i386/int386.S + arch/i386/linux.S + arch/i386/mb.S + arch/i386/i386bug.c) +endif() +elseif(ARCH MATCHES amd64) +list(APPEND FREELDR_BASE64K_SOURCE + arch/i386/drvmap.S + arch/i386/i386cpu.S + arch/i386/i386idt.S + arch/i386/i386trap.S + arch/amd64/mb.S) +endif(ARCH MATCHES i386) + + + +set_source_files_properties(${FREELDR_BASE64K_SOURCE} PROPERTIES COMPILE_DEFINITIONS "_NTHAL_") + +include_directories(${REACTOS_SOURCE_DIR}/lib/cmlib) + +list(APPEND FREELDR_BASE_SOURCE + arcemul/mm.c + arcemul/time.c + cache/blocklist.c + cache/cache.c + comm/rs232.c + disk/disk.c + disk/partition.c + disk/ramdisk.c + disk/scsiport.c + fs/ext2.c + fs/fat.c + fs/fs.c + fs/iso.c + fs/ntfs.c + inifile/ini_init.c + inifile/inifile.c + inifile/parse.c + mm/meminit.c + mm/mm.c + reactos/registry.c + reactos/arcname.c + reactos/archwsup.c + reactos/binhive.c + reactos/reactos.c + reactos/imageldr.c + rtl/bget.c + rtl/libsupp.c + ui/directui.c + ui/gui.c + ui/minitui.c + ui/noui.c + ui/tui.c + ui/tuimenu.c + ui/ui.c + video/fade.c + video/palette.c + video/video.c + windows/conversion.c + windows/peloader.c + windows/winldr.c + windows/wlmemory.c + windows/wlregistry.c + freeldr.c + debug.c + version.c + cmdline.c + machine.c + options.c + linuxboot.c + oslist.c) + +if(ARCH MATCHES i386) +list(APPEND FREELDR_BASE_SOURCE + windows/headless.c + disk/scsiport.c) +endif(ARCH MATCHES i386) + +set_source_files_properties(${FREELDR_BASE_SOURCE} PROPERTIES COMPILE_DEFINITIONS "_NTHAL_;_BLDR_;_NTSYSTEM_") + +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs) +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/elf) + +if(ARCH MATCHES i386) +list(APPEND FREELDR_ARCH_SOURCE + arch/i386/archmach.c + arch/i386/custom.c + arch/i386/drivemap.c + arch/i386/halstub.c + arch/i386/hardware.c + arch/i386/hwacpi.c + arch/i386/hwapm.c + arch/i386/hwpci.c + arch/i386/i386disk.c + arch/i386/i386rtl.c + arch/i386/i386vid.c + arch/i386/loader.c + arch/i386/machpc.c + arch/i386/miscboot.c + arch/i386/ntoskrnl.c + arch/i386/pccons.c + arch/i386/pcdisk.c + arch/i386/pcmem.c + arch/i386/pcrtc.c + arch/i386/pcvideo.c + arch/i386/machxbox.c + arch/i386/xboxcons.c + arch/i386/xboxdisk.c + arch/i386/xboxfont.c + arch/i386/xboxhw.c + arch/i386/xboxi2c.c + arch/i386/xboxmem.c + arch/i386/xboxrtc.c + arch/i386/xboxvideo.c + windows/i386/ntsetup.c + windows/i386/wlmemory.c) +else() +#TBD +endif(ARCH MATCHES i386) + +set_source_files_properties(${FREELDR_ARCH_SOURCE} PROPERTIES COMPILE_DEFINITIONS "_NTHAL_;_BLDR_;_NTSYSTEM_") + +list(APPEND SETUPLDR_MAIN_SOURCE + bootmgr.c + inffile/inffile.c + reactos/setupldr.c) + +if(ARCH MATCHES i386) +list(APPEND SETUPLDR_MAIN_SOURCE windows/setupldr2.c) +elseif(ARCH MATCHES amd64) +list(APPEND SETUPLDR_MAIN_SOURCE windows/setupldr2.c) +endif(ARCH MATCHES i386) + +set_source_files_properties(${SETUPLDR_MAIN_SOURCE} PROPERTIES COMPILE_FLAGS "-ffreestanding -fno-builtin -fno-inline -fno-zero-initialized-in-bss") + + + +list(APPEND FREELDR_SOURCE + bootmgr.c + ${FREELDR_STARTUP_SOURCE} + ${FREELDR_BASE64K_SOURCE} + ${FREELDR_BASE_SOURCE} + ${FREELDR_ARCH_SOURCE}) + +add_library(freeldr SHARED + ${CMAKE_CURRENT_BINARY_DIR}/freeldr_freeldr.h.gch + ${FREELDR_SOURCE}) + +if(NOT MSVC) +set_target_properties(freeldr PROPERTIES LINK_FLAGS "-Wl,--strip-all -Wl,--exclude-all-symbols -Wl,--file-alignment,0x1000 -Wl,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lnk" SUFFIX ".sys") +set_image_base(freeldr 0x8000) +else() +set_target_properties(freeldr PROPERTIES LINK_FLAGS "/DRIVER /FIXED /ALIGN:0x400 /SECTION:.text,ERW /SECTION:.data,RW /MERGE:.text16=.text /MERGE:.data=.text /MERGE:.rdata=.text /MERGE:.bss=.text /SUBSYSTEM:BOOT_APPLICATION" SUFFIX ".sys") +set_image_base(freeldr 0x10000) +endif() + +set_subsystem(freeldr native) +set_entrypoint(freeldr mainCRTStartup) + +if(ARCH MATCHES i386) +target_link_libraries(freeldr mini_hal) +endif(ARCH MATCHES i386) + +target_link_libraries(freeldr + cportlib + rossym + cmlib + rtl + libcntpr) +add_pch(freeldr ${CMAKE_CURRENT_SOURCE_DIR}/include/freeldr.h ${FREELDR_SOURCE}) +add_dependencies(freeldr asm) + +list(APPEND SETUPLDR_SOURCE + ${FREELDR_STARTUP_SOURCE} + ${FREELDR_BASE64K_SOURCE} + ${FREELDR_BASE_SOURCE} + ${FREELDR_ARCH_SOURCE} + ${SETUPLDR_MAIN_SOURCE}) + +add_library(setupldr SHARED ${SETUPLDR_SOURCE}) + +if(NOT MSVC) +set_target_properties(setupldr PROPERTIES LINK_FLAGS "-Wl,--strip-all -Wl,--exclude-all-symbols -Wl,--file-alignment,0x1000 -Wl,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lnk" SUFFIX ".sys" COMPILE_DEFINITIONS "FREELDR_REACTOS_SETUP") +set_image_base(setupldr 0x8000) +else() +set_target_properties(setupldr PROPERTIES LINK_FLAGS "/DRIVER /SECTION:.text,ERWP,ALIGN=0x1000" SUFFIX ".sys" COMPILE_DEFINITIONS "FREELDR_REACTOS_SETUP") +endif() + +set_subsystem(setupldr native) +set_entrypoint(setupldr mainCRTStartup) + +if(ARCH MATCHES i386) +target_link_libraries(setupldr mini_hal) +endif(ARCH MATCHES i386) + +target_link_libraries(setupldr + cportlib + rossym + cmlib + rtl + libcntpr) + +add_dependencies(setupldr asm) + +# Bootcd files +add_minicd_target(setupldr loader setupldr.sys) +add_minicd_target(freeldr loader freeldr.sys) +add_livecd_target(setupldr loader) \ No newline at end of file diff --git a/dll/directx/quartz/CMakeLists.txt b/dll/directx/quartz/CMakeLists.txt index 6d3edafde5b..75ba2cb48e0 100644 --- a/dll/directx/quartz/CMakeLists.txt +++ b/dll/directx/quartz/CMakeLists.txt @@ -14,7 +14,9 @@ include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(quartz.dll quartz.spec) -add_library(quartz SHARED +rpcproxy(quartz quartz_strmif.idl) + +list(APPEND SOURCE avidec.c acmwrapper.c waveparser.c @@ -42,10 +44,11 @@ add_library(quartz SHARED version.rc ${CMAKE_CURRENT_BINARY_DIR}/quartz.def) +add_library(quartz SHARED ${SOURCE}) + set_module_type(quartz win32dll) target_link_libraries(quartz - quartz_proxy strmiids uuid wine @@ -67,6 +70,4 @@ add_importlibs(quartz kernel32 ntdll) - -rpcproxy(quartz quartz_strmif.idl) add_cab_target(quartz 1) diff --git a/dll/win32/actxprxy/CMakeLists.txt b/dll/win32/actxprxy/CMakeLists.txt index 1a74a0c4d81..870d5f67160 100644 --- a/dll/win32/actxprxy/CMakeLists.txt +++ b/dll/win32/actxprxy/CMakeLists.txt @@ -4,6 +4,18 @@ include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(actxprxy.dll actxprxy.spec) +rpcproxy(actxprxy + actxprxy_activscp.idl + actxprxy_comcat.idl + actxprxy_docobj.idl + actxprxy_hlink.idl + actxprxy_htiframe.idl + actxprxy_objsafe.idl + actxprxy_ocmm.idl + actxprxy_servprov.idl + actxprxy_shobjidl.idl + actxprxy_urlhist.idl) + list(APPEND SOURCE usrmarshal.c ${CMAKE_CURRENT_BINARY_DIR}/actxprxy.def) @@ -13,7 +25,6 @@ add_library(actxprxy SHARED ${SOURCE}) set_entrypoint(actxprxy 0) target_link_libraries(actxprxy - actxprxy_proxy uuid wine ${PSEH_LIB}) @@ -27,16 +38,4 @@ add_importlibs(actxprxy add_definitions(-DREGISTER_PROXY_DLL -DPROXY_DELEGATION) -rpcproxy(actxprxy - actxprxy_activscp.idl - actxprxy_comcat.idl - actxprxy_docobj.idl - actxprxy_hlink.idl - actxprxy_htiframe.idl - actxprxy_objsafe.idl - actxprxy_ocmm.idl - actxprxy_servprov.idl - actxprxy_shobjidl.idl - actxprxy_urlhist.idl) - add_cab_target(actxprxy 1) diff --git a/dll/win32/ole32/CMakeLists.txt b/dll/win32/ole32/CMakeLists.txt index 86741d7a72c..09fc961ba19 100644 --- a/dll/win32/ole32/CMakeLists.txt +++ b/dll/win32/ole32/CMakeLists.txt @@ -71,7 +71,6 @@ set_module_type(ole32 win32dll) target_link_libraries(ole32 wine irot_client - ole32_proxy uuid ${PSEH_LIB}) diff --git a/dll/win32/oleaut32/CMakeLists.txt b/dll/win32/oleaut32/CMakeLists.txt index 44300e5358b..12fb3e3d848 100644 --- a/dll/win32/oleaut32/CMakeLists.txt +++ b/dll/win32/oleaut32/CMakeLists.txt @@ -48,12 +48,13 @@ include_directories( spec2def(oleaut32.dll oleaut32.spec) +rpcproxy(oleaut32 oleaut32_oaidl.idl oleaut32_ocidl.idl) + add_library(oleaut32 SHARED ${SOURCE}) set_module_type(oleaut32 win32dll) target_link_libraries(oleaut32 - oleaut32_proxy wine wineldr uuid @@ -61,7 +62,5 @@ target_link_libraries(oleaut32 add_importlibs(oleaut32 windowscodecs ole32 rpcrt4 user32 gdi32 advapi32 comctl32 urlmon msvcrt kernel32 ntdll) -rpcproxy(oleaut32 oleaut32_oaidl.idl oleaut32_ocidl.idl) - add_cab_target(oleaut32 1) add_importlib_target(oleaut32.spec) diff --git a/dll/win32/qmgrprxy/CMakeLists.txt b/dll/win32/qmgrprxy/CMakeLists.txt index 4992e70b778..ecd94468dcf 100644 --- a/dll/win32/qmgrprxy/CMakeLists.txt +++ b/dll/win32/qmgrprxy/CMakeLists.txt @@ -14,11 +14,11 @@ list(APPEND SOURCE ${CMAKE_CURRENT_BINARY_DIR}/qmgrprxy_i.c ${CMAKE_CURRENT_BINARY_DIR}/qmgrprxy.def) -add_library(qmgrprxy SHARED ${SOURCE}) - rpcproxy(qmgrprxy qmgrprxy.idl) +add_library(qmgrprxy SHARED ${SOURCE}) + set_module_type(qmgrprxy win32dll) -target_link_libraries(qmgrprxy qmgrprxy_proxy ${PSEH_LIB} wine) +target_link_libraries(qmgrprxy ${PSEH_LIB} wine) add_importlibs(qmgrprxy rpcrt4 msvcrt kernel32 ntdll) add_cab_target(qmgrprxy 1) diff --git a/dll/win32/sti/CMakeLists.txt b/dll/win32/sti/CMakeLists.txt index 30d4882496a..f069fbf9190 100644 --- a/dll/win32/sti/CMakeLists.txt +++ b/dll/win32/sti/CMakeLists.txt @@ -18,12 +18,13 @@ list(APPEND SOURCE sti_main.c ${CMAKE_CURRENT_BINARY_DIR}/sti.def) +rpcproxy(sti sti_wia.idl) + add_library(sti SHARED ${SOURCE}) set_entrypoint(sti 0) target_link_libraries(sti - sti_proxy wine uuid ${PSEH_LIB}) @@ -36,5 +37,4 @@ add_importlibs(sti kernel32 ntdll) -rpcproxy(sti sti_wia.idl) add_cab_target(sti 1) diff --git a/dll/win32/urlmon/CMakeLists.txt b/dll/win32/urlmon/CMakeLists.txt index 9ee8f0de80c..78c0cba7aa4 100644 --- a/dll/win32/urlmon/CMakeLists.txt +++ b/dll/win32/urlmon/CMakeLists.txt @@ -8,7 +8,9 @@ include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(urlmon.dll urlmon.spec) -add_library(urlmon SHARED +rpcproxy(urlmon urlmon_urlmon.idl) + +list(APPEND SOURCE bindctx.c binding.c bindprot.c @@ -34,10 +36,12 @@ add_library(urlmon SHARED rsrc.rc ${CMAKE_CURRENT_BINARY_DIR}/urlmon.def) +add_library(urlmon SHARED ${SOURCE}) + + set_module_type(urlmon win32dll) target_link_libraries(urlmon - urlmon_proxy uuid wine ${PSEH_LIB}) @@ -66,6 +70,5 @@ add_definitions( add_definitions(-DPROXY_CLSID_IS={0x79EAC9F1,0xBAF9,0x11CE,{0x8C,0x82,0x00,0xAA,0x00,0x4B,0xA9,0x0B}}) #add_definitions(-DPROXY_CLSID_IS="{0x79EAC9F1,0xBAF9,0x11CE,{0x8C,0x82,0x00,0xAA,0x00,0x4B,0xA9,0x0B}}") -rpcproxy(urlmon urlmon_urlmon.idl) add_cab_target(urlmon 1) add_importlib_target(urlmon.spec) -- 2.17.1