ENH: Simpler AddExternalProject patch step

This simplifies the implementation with add_external_project_step.
This commit is contained in:
Brad King 2009-03-30 11:37:50 -04:00
parent aa7e41c16e
commit 385eb4dea7
1 changed files with 7 additions and 18 deletions

View File

@ -435,27 +435,16 @@ function(add_external_project_patch_command name)
get_external_project_directories(base_dir build_dir downloads_dir install_dir
sentinels_dir source_dir tmp_dir)
get_target_property(cmd ${name} AEP_PATCH_COMMAND)
set(work_dir)
get_property(cmd TARGET ${name} PROPERTY AEP_PATCH_COMMAND)
if(cmd)
add_custom_command(
OUTPUT ${sentinels_dir}/${name}-patch
COMMAND ${cmd}
COMMAND ${CMAKE_COMMAND} -E touch ${sentinels_dir}/${name}-patch
WORKING_DIRECTORY ${source_dir}/${name}
COMMENT "Performing patch step for '${name}'"
DEPENDS ${sentinels_dir}/${name}-download
VERBATIM
)
return()
set(work_dir ${source_dir}/${name})
endif()
add_custom_command(
OUTPUT ${sentinels_dir}/${name}-patch
COMMAND ${CMAKE_COMMAND} -E touch ${sentinels_dir}/${name}-patch
WORKING_DIRECTORY ${sentinels_dir}
COMMENT "No patch step for '${name}'"
DEPENDS ${sentinels_dir}/${name}-download
VERBATIM
add_external_project_step(${name} patch
COMMAND ${cmd}
WORKING_DIRECTORY ${work_dir}
DEPENDEES download
)
endfunction(add_external_project_patch_command)