Преглед на файлове

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.

David Cole преди 17 години
родител
ревизия
5d9e78e918
променени са 2 файла, в които са добавени 8 реда и са изтрити 20 реда
  1. 6 1
      Modules/AddExternalProject.cmake
  2. 2 19
      Tests/ExternalProject/CMakeLists.txt

+ 6 - 1
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()
 

+ 2 - 19
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()