From cfc11b5ca55a29e6dca472895bb8afc1ba79e203 Mon Sep 17 00:00:00 2001 From: Sylvain Petreolle Date: Fri, 22 Oct 2010 15:17:45 +0000 Subject: [PATCH] [CMAKE] Add comdlg32, ole32, oleaut32, rpcrt4, shell32,urlmon to build. comdlg32 remains disabled due to build error in Danish resources. svn path=/branches/cmake-bringup/; revision=49227 --- dll/win32/comdlg32/CMakeLists.txt | 2 + dll/win32/ole32/CMakeLists.txt | 75 ++++++++++++++++++++++++ dll/win32/oleaut32/CMakeLists.txt | 59 +++++++++++++++++++ dll/win32/rpcrt4/CMakeLists.txt | 46 +++++++++++++++ dll/win32/shell32/CMakeLists.txt | 96 +++++++++++++++++++++++++++++++ dll/win32/urlmon/CMakeLists.txt | 10 ++++ 6 files changed, 288 insertions(+) create mode 100644 dll/win32/ole32/CMakeLists.txt create mode 100644 dll/win32/oleaut32/CMakeLists.txt create mode 100644 dll/win32/rpcrt4/CMakeLists.txt create mode 100644 dll/win32/shell32/CMakeLists.txt diff --git a/dll/win32/comdlg32/CMakeLists.txt b/dll/win32/comdlg32/CMakeLists.txt index 9d271a76627..2ea01002bbf 100644 --- a/dll/win32/comdlg32/CMakeLists.txt +++ b/dll/win32/comdlg32/CMakeLists.txt @@ -33,6 +33,8 @@ add_importlibs(comdlg32 gdi32 advapi32 ole32 + msvcrt + kernel32 ntdll) add_dependencies(comdlg32 comdlg32_def) diff --git a/dll/win32/ole32/CMakeLists.txt b/dll/win32/ole32/CMakeLists.txt new file mode 100644 index 00000000000..d31698d5023 --- /dev/null +++ b/dll/win32/ole32/CMakeLists.txt @@ -0,0 +1,75 @@ +list(APPEND SOURCE + antimoniker.c + bindctx.c + classmoniker.c + clipboard.c + comcat.c + compobj.c + compositemoniker.c + datacache.c + defaulthandler.c + dictionary.c + enumx.c + errorinfo.c + filelockbytes.c + filemoniker.c + ftmarshal.c + git.c + hglobalstream.c + ifs.c + itemmoniker.c + marshal.c + memlockbytes.c + moniker.c + ole2.c + ole2stubs.c + ole2impl.c + ole32_main.c + oleobj.c + oleproxy.c + pointermoniker.c + regsvr.c + rpc.c + stg_prop.c + stg_stream.c + storage32.c + stubmanager.c + usrmarshal.c + ole32res.rc) + +remove_definitions(-D_WIN32_WINNT=0x502) +add_definitions(-D_WIN32_WINNT=0x600) +add_definitions(-D__WINESRC__) +add_definitions(-D_OLE32_) +add_definitions(-DENTRY_PREFIX=OLE32_) +add_definitions(-DPROXY_CLSID=CLSID_PSFactoryBuffer) +add_definitions(-DREGISTER_PROXY_DLL) +add_definitions(-DCOM_NO_WINDOWS_H) + +include_directories(${CMAKE_CURRENT_BINARY_DIR}) +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) + +ADD_INTERFACE_DEFINITIONS(ole32idl dcom.idl irot.idl) +rpcproxy(ole32 + dcom.idl + ole32_unknwn.idl + ole32_objidl.idl + ole32_oleidl.idl) + +spec2def(ole32 ${CMAKE_CURRENT_SOURCE_DIR}/ole32.spec ${CMAKE_CURRENT_BINARY_DIR}/ole32.def) + +add_library(ole32 SHARED ${SOURCE}) + +set_module_type(ole32 win32dll) + +target_link_libraries(ole32 + ${CMAKE_CURRENT_BINARY_DIR}/ole32.def + wine + irot_client + ole32_proxy + uuid + pseh) + +add_importlibs(ole32 advapi32 user32 gdi32 rpcrt4 msvcrt kernel32 ntdll) + +add_dependencies(ole32 ole32_def ole32idl) \ No newline at end of file diff --git a/dll/win32/oleaut32/CMakeLists.txt b/dll/win32/oleaut32/CMakeLists.txt new file mode 100644 index 00000000000..7854983009b --- /dev/null +++ b/dll/win32/oleaut32/CMakeLists.txt @@ -0,0 +1,59 @@ +list(APPEND SOURCE + connpt.c + dispatch.c + hash.c + oleaut.c + olefont.c + olepicture.c + recinfo.c + regsvr.c + safearray.c + stubs.c + tmarshal.c + typelib.c + typelib2.c + ungif.c + usrmarshal.c + varformat.c + variant.c + vartype.c + oleaut32.rc + oleaut32_oaidl.idl) + +remove_definitions(-D_WIN32_WINNT=0x502) +add_definitions(-D_WIN32_WINNT=0x600) +add_definitions(-D__WINESRC__) +add_definitions(-DPROXY_CLSID_IS={0xb196b286,0xbab4,0x101a,{0xb6,0x9c,0x00,0xaa,0x00,0x34,0x1d,0x07}}) +add_definitions(-DCOM_NO_WINDOWS_H) +add_definitions(-D_OLEAUT32_) +add_definitions(-DPROXY_DELEGATION) +add_definitions(-DREGISTER_PROXY_DLL) +add_definitions(-DENTRY_PREFIX=OLEAUTPS_) +if(MSC) +# seems to work, but is this correct ? +# /FIwine/typeof.h +add_definitions(/FIwine/typeof.h) +endif(MSC) + +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/libjpeg) +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) + +spec2def(oleaut32 ${CMAKE_CURRENT_SOURCE_DIR}/oleaut32.spec ${CMAKE_CURRENT_BINARY_DIR}/oleaut32.def) + +add_library(oleaut32 SHARED ${SOURCE}) + +set_module_type(oleaut32 win32dll) + +target_link_libraries(oleaut32 + ${CMAKE_CURRENT_BINARY_DIR}/oleaut32.def + oleaut32_proxy + wine + wineldr + uuid + pseh) + +add_importlibs(oleaut32 windowscodecs ole32 rpcrt4 user32 gdi32 advapi32 comctl32 urlmon msvcrt kernel32 ntdll) +add_dependencies(oleaut32 oleaut32_def) + +rpcproxy(oleaut32 oleaut32_oaidl.idl oleaut32_ocidl.idl) + diff --git a/dll/win32/rpcrt4/CMakeLists.txt b/dll/win32/rpcrt4/CMakeLists.txt new file mode 100644 index 00000000000..394810479c8 --- /dev/null +++ b/dll/win32/rpcrt4/CMakeLists.txt @@ -0,0 +1,46 @@ + +list(APPEND SOURCE + cproxy.c + cpsf.c + cstub.c + ndr_clientserver.c + ndr_contexthandle.c + ndr_es.c + ndr_fullpointer.c + ndr_marshall.c + ndr_ole.c + ndr_stubless.c + rpc_assoc.c + rpc_async.c + rpc_binding.c + rpc_epmap.c + rpc_message.c + rpcrt4.rc + rpcrt4_main.c + rpc_server.c + rpc_transport.c + unix_func.c) + +remove_definitions(-D_WIN32_WINNT=0x502) +add_definitions(-D_WIN32_WINNT=0x600) +add_definitions(-D_RPCRT4_) +add_definitions(-DCOM_NO_WINDOWS_H) +add_definitions(-DMSWMSG) + +spec2def(rpcrt4 ${CMAKE_CURRENT_SOURCE_DIR}/rpcrt4.spec ${CMAKE_CURRENT_BINARY_DIR}/rpcrt4.def) + +add_library(rpcrt4 SHARED ${SOURCE}) + +set_module_type(rpcrt4 win32dll) + +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) +include_directories(${REACTOS_BINARY_DIR}/include/reactos/wine) +target_link_libraries(rpcrt4 + ${CMAKE_CURRENT_BINARY_DIR}/rpcrt4.def + wine + uuid + epm_client + pseh) + +add_importlibs(rpcrt4 msvcrt user32 advapi32 secur32 iphlpapi ws2_32 kernel32 ntdll) +add_dependencies(rpcrt4 rpcrt4_def winesdk) diff --git a/dll/win32/shell32/CMakeLists.txt b/dll/win32/shell32/CMakeLists.txt new file mode 100644 index 00000000000..1f7cc434924 --- /dev/null +++ b/dll/win32/shell32/CMakeLists.txt @@ -0,0 +1,96 @@ +list(APPEND SOURCE + authors.c + autocomplete.c + brsfolder.c + changenotify.c + classes.c + clipboard.c + control.c + dataobject.c + dde.c + debughlp.c + desktop.c + dialogs.c + dragdrophelper.c + enumidlist.c + extracticon.c + folders.c + iconcache.c + pidl.c + regsvr.c + shell32_main.c + shellitem.c + shelllink.c + shellole.c + shellord.c + shellpath.c + shellreg.c + shellstring.c + shfldr_desktop.c + shfldr_fs.c + shfldr_mycomp.c + shfldr_mydocuments.c + shfldr_printers.c + shfldr_admintools.c + shfldr_netplaces.c + shfldr_fonts.c + shfldr_cpanel.c + shfldr_recyclebin.c + shlexec.c + shlfileop.c + shlfolder.c + shlfsbind.c + shlmenu.c + shlview.c + shpolicy.c + shv_def_cmenu.c + startmenu.c + stubs.c + ros-systray.c + fprop.c + drive.c + she_ocmenu.c + shv_item_new.c + folder_options.c + shell32.rc) + +remove_definitions(-D_WIN32_WINNT=0x502) +add_definitions(-D_WIN32_WINNT=0x600) +add_definitions(-D_SHELL32_) +add_definitions(-DCOM_NO_WINDOWS_H) +add_definitions(-D_WINE) + +spec2def(shell32 ${CMAKE_CURRENT_SOURCE_DIR}/shell32.spec ${CMAKE_CURRENT_BINARY_DIR}/shell32.def) + +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) +include_directories(${REACTOS_SOURCE_DIR}/lib/recyclebin) +include_directories(${REACTOS_SOURCE_DIR}) + +add_pch(shell32 ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE}) +add_library(shell32 SHARED ${CMAKE_CURRENT_BINARY_DIR}/shell32_precomp.h.gch ${SOURCE}) + +set_module_type(shell32 win32dll) + +target_link_libraries(shell32 + ${CMAKE_CURRENT_BINARY_DIR}/shell32.def + wine + uuid + recyclebin) + +add_importlibs(shell32 + advapi32 + gdi32 + user32 + comctl32 + comdlg32 + shlwapi + ole32 + version + devmgr + winspool + winmm + kernel32 + msvcrt + ntdll) + +add_dependencies(shell32 shell32_def) \ No newline at end of file diff --git a/dll/win32/urlmon/CMakeLists.txt b/dll/win32/urlmon/CMakeLists.txt index 60ea514e4e4..ced869bbd0a 100644 --- a/dll/win32/urlmon/CMakeLists.txt +++ b/dll/win32/urlmon/CMakeLists.txt @@ -55,3 +55,13 @@ add_importlibs(urlmon ntdll) add_dependencies(urlmon urlmon_def) +add_definitions(-DENTRY_PREFIX=URLMON_) +add_definitions(-DPROXY_DELEGATION) +add_definitions(-DREGISTER_PROXY_DLL) +add_definitions(-D_URLMON_) + +# FIXME : this should be quotes enclosed +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) -- 2.17.1