Fix issue #10258: re-configure if args change.
Fixes issue http://public.kitware.com/Bug/view.php?id=10258 Also, fix complaint that DOWNLOAD_COMMAND cannot contain arguments consisting entirely of upper case letters. It validly does when, for example, you construct a custom cvs command line and the module name is all upper case, like VTK.
This commit is contained in:
parent
515339f313
commit
ea6260cb18
|
@ -157,6 +157,7 @@ function(_ep_parse_arguments f name ns args)
|
||||||
if(NOT (key STREQUAL "COMMAND")
|
if(NOT (key STREQUAL "COMMAND")
|
||||||
AND NOT (key STREQUAL "CVS_MODULE")
|
AND NOT (key STREQUAL "CVS_MODULE")
|
||||||
AND NOT (key STREQUAL "DEPENDS")
|
AND NOT (key STREQUAL "DEPENDS")
|
||||||
|
AND NOT (key STREQUAL "DOWNLOAD_COMMAND")
|
||||||
)
|
)
|
||||||
message(AUTHOR_WARNING "unknown ${f} keyword: ${arg}")
|
message(AUTHOR_WARNING "unknown ${f} keyword: ${arg}")
|
||||||
endif()
|
endif()
|
||||||
|
@ -793,7 +794,7 @@ endfunction(_ep_add_patch_command)
|
||||||
|
|
||||||
# TODO: Make sure external projects use the proper compiler
|
# TODO: Make sure external projects use the proper compiler
|
||||||
function(_ep_add_configure_command name)
|
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)
|
_ep_get_configuration_subdir_suffix(cfgdir)
|
||||||
|
|
||||||
|
@ -827,6 +828,16 @@ function(_ep_add_configure_command name)
|
||||||
endif()
|
endif()
|
||||||
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
|
ExternalProject_Add_Step(${name} configure
|
||||||
COMMAND ${cmd}
|
COMMAND ${cmd}
|
||||||
WORKING_DIRECTORY ${binary_dir}
|
WORKING_DIRECTORY ${binary_dir}
|
||||||
|
|
Loading…
Reference in New Issue