From 5d9e78e91885e2e6d06e9f6b1901a3998f3dc5cc Mon Sep 17 00:00:00 2001 From: David Cole Date: Wed, 24 Dec 2008 10:10:40 -0500 Subject: ENH: Re-work of fix committed yesterday for the Watcom WMake dashboard. Fix it properly by using the SYMBOLIC source file property to indicate to WMake when the sentinel file is not actually written by the update step. --- Modules/AddExternalProject.cmake | 7 ++++++- Tests/ExternalProject/CMakeLists.txt | 21 ++------------------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/Modules/AddExternalProject.cmake b/Modules/AddExternalProject.cmake index acfccf5..7dcbe55 100644 --- a/Modules/AddExternalProject.cmake +++ b/Modules/AddExternalProject.cmake @@ -310,7 +310,6 @@ endfunction(add_external_project_download_command) function(add_external_project_update_command name) - set(added 0) get_external_project_directories(base_dir build_dir downloads_dir install_dir sentinels_dir source_dir tmp_dir) @@ -373,6 +372,9 @@ function(add_external_project_update_command name) COMMENT "Performing update step (CVS update) for '${name}'" DEPENDS ${sentinels_dir}/${name}-download ) + # Since the update sentinel is not actually written: + set_property(SOURCE ${sentinels_dir}/${name}-update + PROPERTY SYMBOLIC 1) return() endif() @@ -399,6 +401,9 @@ function(add_external_project_update_command name) COMMENT "Performing update step (SVN update) for '${name}'" DEPENDS ${sentinels_dir}/${name}-download ) + # Since the update sentinel is not actually written: + set_property(SOURCE ${sentinels_dir}/${name}-update + PROPERTY SYMBOLIC 1) return() endif() diff --git a/Tests/ExternalProject/CMakeLists.txt b/Tests/ExternalProject/CMakeLists.txt index 61dbbc0..48e6d5e 100644 --- a/Tests/ExternalProject/CMakeLists.txt +++ b/Tests/ExternalProject/CMakeLists.txt @@ -59,23 +59,10 @@ if(NOT DEFINED can_use_svn) set(can_use_svn ${can_use_svn} CACHE STRING "Was try_svn_checkout successful?") endif() -# WATCOM WMake cannot handle "always out of date" custom commands, -# so force the update_step to be an up-to-date no-op instead of a -# cvs/svn update... -# -set(update_step) -if(WATCOM) - set(update_step - UPDATE_COMMAND ${CMAKE_COMMAND} - UPDATE_ARGS "-E echo no-op update step" - ) -endif() - message(STATUS "can_build_kwstyle='${can_build_kwstyle}'") message(STATUS "can_build_tutorial_step5='${can_build_tutorial_step5}'") message(STATUS "can_use_cvs='${can_use_cvs}'") message(STATUS "can_use_svn='${can_use_svn}'") -message(STATUS "update_step='${update_step}'") # Empty projects that test all the known add_external_project argument key words: @@ -110,6 +97,8 @@ add_external_project(${proj} TAR_URL "" TGZ "" TGZ_URL "" + UPDATE_ARGS "" + UPDATE_COMMAND "" ) @@ -180,7 +169,6 @@ if(can_use_cvs) CVS_TAG "-D\;2008-12-01 01:00:00 UTC" CONFIGURE_ARGS "\"-DCMAKE_INSTALL_PREFIX:PATH=${prefix}\" -G \"${CMAKE_GENERATOR}\" \"${source_dir}/${proj}\"" INSTALL_COMMAND "" - ${update_step} ) # CVS by tag: @@ -192,7 +180,6 @@ if(can_use_cvs) CVS_TAG "-r\;CMake-2-6-2" CONFIGURE_ARGS "\"-DCMAKE_INSTALL_PREFIX:PATH=${prefix}\" -G \"${CMAKE_GENERATOR}\" \"${source_dir}/${proj}\"" INSTALL_COMMAND "" - ${update_step} ) if(can_build_kwstyle) @@ -210,7 +197,6 @@ if(can_use_cvs) DEPENDS "TutorialStep1-LocalNoDirTGZ" DEPENDS "TutorialStep1-20081201" DEPENDS "kwsys-from-CMake-2-6-2" - ${update_step} ) endif() endif() @@ -226,7 +212,6 @@ if(can_use_svn) SVN_REPOSITORY "http://gdcm.svn.sourceforge.net/svnroot/gdcm/trunk/Utilities/gdcmmd5" SVN_TAG "-r\;{2008-12-04 01:00:00 +0000}" CONFIGURE_ARGS "\"-DCMAKE_INSTALL_PREFIX:PATH=${prefix}\" -G \"${CMAKE_GENERATOR}\" \"${source_dir}/${proj}\"" - ${update_step} ) # SVN by revision number: @@ -237,7 +222,6 @@ if(can_use_svn) SVN_TAG "-r\;4824" CONFIGURE_ARGS "\"-DCMAKE_INSTALL_PREFIX:PATH=${prefix}\" -G \"${CMAKE_GENERATOR}\" \"${source_dir}/${proj}\"" INSTALL_COMMAND "" - ${update_step} ) # Live SVN / trunk (no SVN_TAG): @@ -247,7 +231,6 @@ if(can_use_svn) SVN_REPOSITORY "http://gdcm.svn.sourceforge.net/svnroot/gdcm/trunk/Utilities/gdcmmd5" CONFIGURE_ARGS "\"-DCMAKE_INSTALL_PREFIX:PATH=${prefix}\" -G \"${CMAKE_GENERATOR}\" \"${source_dir}/${proj}\"" INSTALL_COMMAND "" - ${update_step} ) endif() -- cgit v0.12