[CMAKE]
authorSylvain Petreolle <spetreolle@yahoo.fr>
Fri, 22 Oct 2010 15:17:45 +0000 (15:17 +0000)
committerSylvain Petreolle <spetreolle@yahoo.fr>
Fri, 22 Oct 2010 15:17:45 +0000 (15:17 +0000)
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
dll/win32/ole32/CMakeLists.txt [new file with mode: 0644]
dll/win32/oleaut32/CMakeLists.txt [new file with mode: 0644]
dll/win32/rpcrt4/CMakeLists.txt [new file with mode: 0644]
dll/win32/shell32/CMakeLists.txt [new file with mode: 0644]
dll/win32/urlmon/CMakeLists.txt

index 9d271a7..2ea0100 100644 (file)
@@ -33,6 +33,8 @@ add_importlibs(comdlg32
     gdi32
     advapi32
     ole32
     gdi32
     advapi32
     ole32
+    msvcrt
+    kernel32
     ntdll)
 
 add_dependencies(comdlg32 comdlg32_def)
     ntdll)
 
 add_dependencies(comdlg32 comdlg32_def)
diff --git a/dll/win32/ole32/CMakeLists.txt b/dll/win32/ole32/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d31698d
--- /dev/null
@@ -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 (file)
index 0000000..7854983
--- /dev/null
@@ -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 ?
+# <compilerflag compilerset="msc">/FIwine/typeof.h</compilerflag>
+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 (file)
index 0000000..3948104
--- /dev/null
@@ -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 (file)
index 0000000..1f7cc43
--- /dev/null
@@ -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
index 60ea514..ced869b 100644 (file)
@@ -55,3 +55,13 @@ add_importlibs(urlmon
     ntdll)
 
 add_dependencies(urlmon urlmon_def)
     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)