Merge branch 'ExternalProject-fixes'

This commit is contained in:
Brad King 2010-06-07 14:21:49 -04:00
commit 2bc82e07bd

View File

@ -159,6 +159,7 @@ function(_ep_parse_arguments f name ns args)
if(NOT (key STREQUAL "COMMAND")
AND NOT (key STREQUAL "CVS_MODULE")
AND NOT (key STREQUAL "DEPENDS")
AND NOT (key STREQUAL "DOWNLOAD_COMMAND")
)
message(AUTHOR_WARNING "unknown ${f} keyword: ${arg}")
endif()
@ -801,7 +802,7 @@ endfunction(_ep_add_patch_command)
# TODO: Make sure external projects use the proper compiler
function(_ep_add_configure_command name)
ExternalProject_Get_Property(${name} source_dir binary_dir)
ExternalProject_Get_Property(${name} source_dir binary_dir tmp_dir)
_ep_get_configuration_subdir_suffix(cfgdir)
@ -835,6 +836,16 @@ function(_ep_add_configure_command name)
endif()
endif()
# If anything about the configure command changes, (command itself, cmake
# used, cmake args or cmake generator) then re-run the configure step.
# Fixes issue http://public.kitware.com/Bug/view.php?id=10258
#
if(NOT EXISTS ${tmp_dir}/${name}-cfgcmd.txt.in)
file(WRITE ${tmp_dir}/${name}-cfgcmd.txt.in "cmd='@cmd@'\n")
endif()
configure_file(${tmp_dir}/${name}-cfgcmd.txt.in ${tmp_dir}/${name}-cfgcmd.txt)
list(APPEND file_deps ${tmp_dir}/${name}-cfgcmd.txt)
ExternalProject_Add_Step(${name} configure
COMMAND ${cmd}
WORKING_DIRECTORY ${binary_dir}