From 5c2f95e5a41e35826d743225a74a8602a548f4a5 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sun, 28 Nov 2010 20:16:40 +0000 Subject: [PATCH] [CMAKE] Make rpcproxy macro portable svn path=/branches/cmake-bringup/; revision=49856 --- CMakeMacros.cmake | 24 ++++++++++++------------ gcc.cmake | 2 ++ msc.cmake | 2 ++ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/CMakeMacros.cmake b/CMakeMacros.cmake index 8f867df446d..852fd75447a 100644 --- a/CMakeMacros.cmake +++ b/CMakeMacros.cmake @@ -172,8 +172,8 @@ macro(rpcproxy TARGET) get_filename_component(FILE ${_in_FILE} NAME_WE) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_p.h ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_p.c - COMMAND native-widl ${result_incs} ${result_defs} -m32 --win32 -h -H ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_p.h -p -P ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_p.c ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.idl - DEPENDS native-widl) + COMMAND ${IDL_COMPILER} ${result_incs} ${result_defs} ${IDL_FLAGS} ${IDL_HEADER_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_p.h ${IDL_PROXY_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_p.c ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.idl + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.idl) set_source_files_properties( ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_c.h ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_p.c PROPERTIES GENERATED TRUE) @@ -184,17 +184,17 @@ macro(rpcproxy TARGET) DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${FILE}_p.c) #add_dependencies(${TARGET}_proxy ${TARGET}_${FILE}_p) endforeach(_in_FILE ${ARGN}) + + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_proxy.dlldata.c + COMMAND ${IDL_COMPILER} ${result_incs} ${result_defs} ${IDL_FLAGS} ${IDL_DLLDATA_ARG}${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_proxy.dlldata.c ${IDLS} + DEPENDS ${IDLS}) + set_source_files_properties( + ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_proxy.dlldata.c + PROPERTIES GENERATED TRUE) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_proxy.dlldata.c - COMMAND native-widl ${result_incs} ${result_defs} -m32 --win32 --dlldata-only --dlldata=${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_proxy.dlldata.c ${IDLS} - DEPENDS native-widl) - set_source_files_properties( - ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_proxy.dlldata.c - PROPERTIES GENERATED TRUE) - - add_library(${TARGET}_proxy ${SOURCE}) - add_dependencies(${TARGET}_proxy psdk ${PROXY_DEPENDS}) + add_library(${TARGET}_proxy ${SOURCE}) + add_dependencies(${TARGET}_proxy psdk ${PROXY_DEPENDS}) endmacro(rpcproxy) macro (MACRO_IDL_FILES) diff --git a/gcc.cmake b/gcc.cmake index 7efe0d4551c..30d8c4b2823 100644 --- a/gcc.cmake +++ b/gcc.cmake @@ -190,6 +190,8 @@ set(IDL_HEADER_ARG -h -H) #.h set(IDL_TYPELIB_ARG -t -T) #.tlb set(IDL_SERVER_ARG -s -S) #.c for server library set(IDL_CLIENT_ARG -c -C) #.c for stub client library +set(IDL_PROXY_ARG -p -P) +set(IDL_DLLDATA_ARG --dlldata-only --dlldata=) macro(add_importlib_target _def_file) # empty for now, while import libs are shipped diff --git a/msc.cmake b/msc.cmake index 029e186b231..3e747249bb6 100644 --- a/msc.cmake +++ b/msc.cmake @@ -136,6 +136,8 @@ set(IDL_HEADER_ARG /h) #.h set(IDL_TYPELIB_ARG /tlb) #.tlb set(IDL_SERVER_ARG /sstub) #.c for stub server library set(IDL_CLIENT_ARG /cstub) #.c for stub client library +set(IDL_PROXY_ARG /proxy) +set(IDL_DLLDATA_ARG /dlldata ) # Thanks MS for creating a stupid linker macro(add_importlib_target _spec_file) -- 2.17.1