From 226f3d9a105beec6c3fbd7b996cc9bf3b6cf26f9 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Thu, 6 Sep 2012 20:19:48 +0000
Subject: [PATCH] don't upload nightly build if build has errors

---
 utils/nightly/gmsh.ctest | 35 ++++++++++++++++++++++-------------
 1 file changed, 22 insertions(+), 13 deletions(-)

diff --git a/utils/nightly/gmsh.ctest b/utils/nightly/gmsh.ctest
index a070b8049a..b18f1bd392 100644
--- a/utils/nightly/gmsh.ctest
+++ b/utils/nightly/gmsh.ctest
@@ -44,7 +44,10 @@ ctest_start(${CDASH_MODEL})
 ctest_update()
 ctest_configure()
 ctest_build(TARGET html)
-ctest_build(TARGET package)
+ctest_build(TARGET package NUMBER_ERRORS ERR)
+
+set(ENV{GMSH_BUILD_ERRORS} ${ERR})
+
 if(WITH_TEST)
   ctest_test()
 endif(WITH_TEST)
@@ -57,16 +60,22 @@ endif (WITH_MEMCHECK AND CTEST_MEMORYCHECK_COMMAND)
 ctest_submit()
 
 macro(upload_package WEB ARCH EXTRA EXT1 EXT2)
-  file(GLOB FILE ${CTEST_BINARY_DIRECTORY}/gmsh-*${EXT1})
-  if(FILE)
-    if(${FILE} MATCHES "-svn")
-      execute_process(COMMAND scp -C ${FILE} ${WEB}/gmsh-svn-${ARCH}${EXTRA}${EXT2}
-                      TIMEOUT 60)
-    else(${FILE} MATCHES "-svn")
-      get_filename_component(NAME ${FILE} NAME)
-      string(REPLACE ${EXT1} "" BASE ${NAME})
-      execute_process(COMMAND scp -C ${FILE} ${WEB}/${BASE}${EXTRA}${EXT2}
-                      TIMEOUT 60)
-    endif(${FILE} MATCHES "-svn")
-  endif(FILE)
+  if($ENV{GMSH_BUILD_ERRORS} GREATER 0)
+    message("Build reported $ENV{GMSH_BUILD_ERRORS} errors: skipping upload")
+    set(ENV{GMSH_BUILD_ERRORS} 0)
+  else($ENV{GMSH_BUILD_ERRORS} GREATER 0)
+    message("Build succeeded: uploading package to web site")
+    file(GLOB FILE ${CTEST_BINARY_DIRECTORY}/gmsh-*${EXT1})
+    if(FILE)
+      if(${FILE} MATCHES "-svn")
+        execute_process(COMMAND scp -C ${FILE} ${WEB}/gmsh-svn-${ARCH}${EXTRA}${EXT2}
+                        TIMEOUT 60)
+      else(${FILE} MATCHES "-svn")
+        get_filename_component(NAME ${FILE} NAME)
+        string(REPLACE ${EXT1} "" BASE ${NAME})
+        execute_process(COMMAND scp -C ${FILE} ${WEB}/${BASE}${EXTRA}${EXT2}
+                        TIMEOUT 60)
+      endif(${FILE} MATCHES "-svn")
+    endif(FILE)
+  endif($ENV{GMSH_BUILD_ERRORS} GREATER 0)
 endmacro(upload_package)
-- 
GitLab