From fa6ae5c35cc537b4d7fa9dfc24000a6327693ae7 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Thu, 29 Mar 2012 17:40:36 +0000 Subject: [PATCH] [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. svn path=/trunk/; revision=56280 --- reactos/cmake/midl-support.cmake | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/reactos/cmake/midl-support.cmake b/reactos/cmake/midl-support.cmake index d4543b96b0b..8ae461a28d1 100644 --- a/reactos/cmake/midl-support.cmake +++ b/reactos/cmake/midl-support.cmake @@ -23,16 +23,16 @@ endfunction() 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)