mirror of
https://github.com/reactos/reactos.git
synced 2025-05-30 14:39:46 +00:00
[CMAKE]
Try to fix some midl dependency and concurrency issues svn path=/trunk/; revision=56274
This commit is contained in:
parent
aabb4465a0
commit
fe26e5872f
1 changed files with 11 additions and 11 deletions
|
@ -87,28 +87,28 @@ function(add_rpcproxy_files)
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(DLLDATA_ARG /dlldata ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c)
|
set(DLLDATA_ARG /dlldata ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c)
|
||||||
set(DLLDATA_DEPENDENCIES "")
|
set(OUTPUT_FILES "")
|
||||||
endif()
|
endif()
|
||||||
foreach(FILE ${ARGN})
|
foreach(FILE ${ARGN})
|
||||||
get_filename_component(NAME ${FILE} NAME_WE)
|
get_filename_component(NAME ${FILE} NAME_WE)
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(DLLDATA_DEPENDENCIES ${DLLDATA_DEPENDENCIES} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c)
|
add_custom_command(
|
||||||
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.h ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c
|
||||||
|
COMMAND midl ${INCLUDES} ${DEFINES} ${IDL_FLAGS} /proxy ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c /h ${NAME}_p.h ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} /dlldata ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c
|
||||||
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${OUTPUT_FILES})
|
||||||
|
list(APPEND OUTPUT_FILES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c)
|
||||||
|
list(APPEND OUTPUT_FILES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.h)
|
||||||
else()
|
else()
|
||||||
list(APPEND IDLS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
|
list(APPEND IDLS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.h
|
||||||
|
COMMAND native-widl ${INCLUDES} ${DEFINES} ${IDL_FLAGS} -p -o ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c -h -H ${NAME}_p.h ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
|
||||||
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} native-widl)
|
||||||
endif()
|
endif()
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.h
|
|
||||||
COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_PROXY_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c ${IDL_HEADER_ARG2} ${NAME}_p.h ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${DLLDATA_ARG}
|
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${IDL_DEPENDS})
|
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# Extra pass to generate dlldata
|
# Extra pass to generate dlldata
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
#touch it, so we're sure it's older than its dependencies
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c
|
|
||||||
DEPENDS ${DLLDATA_DEPENDENCIES})
|
|
||||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c PROPERTIES GENERATED TRUE)
|
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c PROPERTIES GENERATED TRUE)
|
||||||
else()
|
else()
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
|
|
Loading…
Reference in a new issue