Author: tkreuzer
Date: Thu Aug 11 13:39:06 2011
New Revision: 53178

URL: http://svn.reactos.org/svn/reactos?rev=53178&view=rev
Log:
[CMAKE]
Add add_delay_importlibs for MSVC

Modified:
    trunk/reactos/cmake/msvc.cmake
    trunk/reactos/dll/win32/rpcrt4/CMakeLists.txt

Modified: trunk/reactos/cmake/msvc.cmake
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/msvc.cmake?rev=53178&r1=53177&r2=53178&view=diff
==============================================================================
--- trunk/reactos/cmake/msvc.cmake [iso-8859-1] (original)
+++ trunk/reactos/cmake/msvc.cmake [iso-8859-1] Thu Aug 11 13:39:06 2011
@@ -177,8 +177,12 @@
 endfunction()
 
 macro(add_delay_importlibs MODULE)
-    # TODO. For now forward to normal import libs
-    add_importlibs(${MODULE} ${ARGN})
+    foreach(LIB ${ARGN})
+        add_linkerflag(${MODULE} "/DELAYLOAD:${LIB}.dll")
+        target_link_libraries(${MODULE} 
${CMAKE_BINARY_DIR}/importlibs/lib${LIB}.LIB)
+        add_dependencies(${MODULE} lib${LIB})
+    endforeach()
+    target_link_libraries(${MODULE} delayimp)
 endmacro()
 
 function(spec2def _dllname _spec_file)

Modified: trunk/reactos/dll/win32/rpcrt4/CMakeLists.txt
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rpcrt4/CMakeLists.txt?rev=53178&r1=53177&r2=53178&view=diff
==============================================================================
--- trunk/reactos/dll/win32/rpcrt4/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/rpcrt4/CMakeLists.txt [iso-8859-1] Thu Aug 11 
13:39:06 2011
@@ -1,11 +1,5 @@
 
 add_rpc_files(client epm.idl)
-
-# HACK!!!!!!
-if(MSVC)
-    set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> /nologo <DEFINES> 
/Fo<OBJECT> /Fd<TARGET_PDB> -c <SOURCE> <FLAGS>")
-    set_source_files_properties(rpc_transport.c PROPERTIES COMPILE_FLAGS 
"/link /DELAYLOAD:wininet.dll")
-endif()
 
 list(APPEND SOURCE
     cproxy.c
@@ -43,7 +37,7 @@
     -D_RPCRT4_
     -DCOM_NO_WINDOWS_H
     -DMSWMSG)
-    
+
 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
 
 spec2def(rpcrt4.dll rpcrt4.spec)
@@ -56,16 +50,9 @@
     wine
     uuid
     ${PSEH_LIB})
-    
-if(NOT MSVC)
-    add_delay_importlibs(rpcrt4 wininet)
-else()
-    add_importlibs(rpcrt4 wininet)
-    add_linkerflag(rpcrt4 "/DELAYLOAD:wininet.dll")
-    target_link_libraries(rpcrt4 delayimp)
-endif()
-    
 
 add_importlibs(rpcrt4 msvcrt user32 advapi32 secur32 iphlpapi ws2_32 kernel32 
ntdll)
+add_delay_importlibs(rpcrt4 wininet)
+
 add_cd_file(TARGET rpcrt4 DESTINATION reactos/system32 FOR all)
 add_importlib_target(rpcrt4.spec)


Reply via email to