Author: tkreuzer
Date: Thu Mar 29 17:40:36 2012
New Revision: 56280

URL: http://svn.reactos.org/svn/reactos?rev=56280&view=rev
Log:
[CMAKE]
Attempt to fix a concurrency issue with midl. Regarding to the MSVC builder 
output, midl failed when compiling wine/itss.h due to a concurrent access to 
itss_i.c. Although the command to generate itss.h doesn't seem to geenrate 
itss_i.c (at least not on my wdk buld), I added a switch to rename that file.

Modified:
    trunk/reactos/cmake/midl-support.cmake

Modified: trunk/reactos/cmake/midl-support.cmake
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/midl-support.cmake?rev=56280&r1=56279&r2=56280&view=diff
==============================================================================
--- trunk/reactos/cmake/midl-support.cmake [iso-8859-1] (original)
+++ trunk/reactos/cmake/midl-support.cmake [iso-8859-1] Thu Mar 29 17:40:36 2012
@@ -23,16 +23,16 @@
 function(add_idl_headers TARGET)
     get_includes(INCLUDES)
     get_defines(DEFINES)
-    foreach(FILE ${ARGN})
-        get_filename_component(NAME ${FILE} NAME_WE)
-        set(HEADER ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.h)
+    foreach(_input_file ${ARGN})
+        get_filename_component(_name ${_input_file} NAME_WE)
+        set(_name ${CMAKE_CURRENT_BINARY_DIR}/${_name})
         add_custom_command(
-            OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.h
-            COMMAND midl ${INCLUDES} ${DEFINES} ${IDL_FLAGS} /h 
${CMAKE_CURRENT_BINARY_DIR}/${NAME}.h ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
-            DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
-        list(APPEND HEADERS ${HEADER})
+            OUTPUT ${_name}.h
+            COMMAND midl ${INCLUDES} ${DEFINES} ${IDL_FLAGS} /h ${_name}.h 
/iid ${_name}_dummy_i.h ${CMAKE_CURRENT_SOURCE_DIR}/${_input_file}
+            DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_input_file})
+        list(APPEND _target_dependencies ${_name}.h)
     endforeach()
-    add_custom_target(${TARGET} DEPENDS ${HEADERS})
+    add_custom_target(${TARGET} DEPENDS ${_target_dependencies})
 endfunction()
 
 function(add_rpcproxy_files)


Reply via email to