- add the possibility to add dependencies to PCH.
- Use it to fix advapi32 build

svn path=/trunk/; revision=53116
This commit is contained in:
Jérôme Gardou 2011-08-07 11:13:45 +00:00
parent 42a9865a35
commit 47a2a8069d
3 changed files with 7 additions and 3 deletions

View file

@ -334,7 +334,10 @@ if(PCH)
set(__compiler ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}) set(__compiler ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1})
endif() endif()
add_custom_command(OUTPUT ${_gch_filename} COMMAND ${__compiler} ${_args} IMPLICIT_DEPENDS ${__lang} ${_header_filename}) add_custom_command(OUTPUT ${_gch_filename}
COMMAND ${__compiler} ${_args}
IMPLICIT_DEPENDS ${__lang} ${_header_filename}
DEPENDS ${_header_filename} ${ARGN})
get_target_property(_src_files ${_target_name} SOURCES) get_target_property(_src_files ${_target_name} SOURCES)
foreach(_item in ${_src_files}) foreach(_item in ${_src_files})
get_source_file_property(__src_lang ${_item} LANGUAGE) get_source_file_property(__src_lang ${_item} LANGUAGE)

View file

@ -138,7 +138,6 @@ function(add_rpc_files __type)
if(NOT IS_ABSOLUTE ${FILE}) if(NOT IS_ABSOLUTE ${FILE})
set(FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}) set(FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
endif() endif()
file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/${__name}.c ${CMAKE_CURRENT_BINARY_DIR}/${__name}.h)
add_custom_command( add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${__name}.c ${CMAKE_CURRENT_BINARY_DIR}/${__name}.h OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${__name}.c ${CMAKE_CURRENT_BINARY_DIR}/${__name}.h
COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_HEADER_ARG2} ${CMAKE_CURRENT_BINARY_DIR}/${__name}.h ${__server_client} ${CMAKE_CURRENT_BINARY_DIR}/${__name}.c ${FILE} COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_HEADER_ARG2} ${CMAKE_CURRENT_BINARY_DIR}/${__name}.h ${__server_client} ${CMAKE_CURRENT_BINARY_DIR}/${__name}.c ${FILE}

View file

@ -65,6 +65,8 @@ target_link_libraries(advapi32
add_importlibs(advapi32 rpcrt4 kernel32 ntdll msvcrt) add_importlibs(advapi32 rpcrt4 kernel32 ntdll msvcrt)
add_pch(advapi32 advapi32.h) add_pch(advapi32 advapi32.h
${CMAKE_CURRENT_BINARY_DIR}/lsa_c.h
${CMAKE_CURRENT_BINARY_DIR}/eventlogrpc_c.h)
add_cd_file(TARGET advapi32 DESTINATION reactos/system32 FOR all) add_cd_file(TARGET advapi32 DESTINATION reactos/system32 FOR all)
add_importlib_target(advapi32.spec) add_importlib_target(advapi32.spec)