From 820550bfd14a04c7ec8cec370e95a1b820d1b20e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Tue, 28 Aug 2012 19:02:29 +0000 Subject: [PATCH] [CMAKE/WIDL] - Add support for the wine COM interface registering svn path=/trunk/; revision=57191 --- reactos/cmake/widl-support.cmake | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/reactos/cmake/widl-support.cmake b/reactos/cmake/widl-support.cmake index 39acbf82ab5..78f1b058bd6 100644 --- a/reactos/cmake/widl-support.cmake +++ b/reactos/cmake/widl-support.cmake @@ -109,3 +109,21 @@ function(add_iid_library TARGET) add_dependencies(${TARGET} psdk) set_target_properties(${TARGET} PROPERTIES EXCLUDE_FROM_ALL TRUE) endfunction() + +function(add_idl_reg_script IDL_FILE) + get_filename_component(FILE ${IDL_FILE} NAME) + if(FILE STREQUAL "${IDL_FILE}") + set(IDL_FILE_FULL "${CMAKE_CURRENT_SOURCE_DIR}/${IDL_FILE}") + else() + set(IDL_FILE_FULL ${IDL_FILE}) + endif() + get_includes(INCLUDES) + get_defines(DEFINES) + get_filename_component(NAME ${IDL_FILE} NAME_WE) + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_r.res + COMMAND native-widl ${INCLUDES} ${DEFINES} ${IDL_FLAGS} -r -o ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_r.res ${IDL_FILE_FULL} + DEPENDS ${IDL_FILE_FULL} native-widl) + set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${NAME}_r.res PROPERTIES + GENERATED TRUE EXTERNAL_OBJECT TRUE) +endfunction()