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?re... ============================================================================== --- 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)