From 33f2495e42b07fe9e81c7e1867c58c6e11ee286e Mon Sep 17 00:00:00 2001
From: Atlas Librarian <atlas-software.librarian@cern.ch>
Date: Wed, 3 May 2017 13:45:47 +0200
Subject: [PATCH] cmake_{config,build,install}.log added to
 build_{Gaudi,atlasexternals}.sh

Former-commit-id: bc52a1f9434b6010a234c379a7072977c9951035
---
 Build/AtlasBuildScripts/build_Gaudi.sh        | 40 ++++++++++++++---
 .../AtlasBuildScripts/build_atlasexternals.sh | 45 +++++++++++++++----
 2 files changed, 71 insertions(+), 14 deletions(-)

diff --git a/Build/AtlasBuildScripts/build_Gaudi.sh b/Build/AtlasBuildScripts/build_Gaudi.sh
index 71c8fc25bbb..9b27a23fa63 100755
--- a/Build/AtlasBuildScripts/build_Gaudi.sh
+++ b/Build/AtlasBuildScripts/build_Gaudi.sh
@@ -85,17 +85,35 @@ cd ${BUILDDIR} || ((ERROR_COUNT++))
 # Set up the externals project:
 source ${EXTDIR}/setup.sh || ((ERROR_COUNT++))
 
+#FIXME: simplify error counting below while keeping '| tee ...'
+
 # Configure the build:
+error_stamp=`mktemp .tmp.error.XXXXX` ; rm -f $error_stamp
+{
 cmake -DCMAKE_BUILD_TYPE:STRING=${BUILDTYPE} -DCTEST_USE_LAUNCHERS:BOOL=TRUE \
     -DGAUDI_ATLAS:BOOL=TRUE -DGAUDI_ATLAS_BASE_PROJECT:STRING=${EXTPROJECT} \
     -DCMAKE_INSTALL_PREFIX:PATH=/InstallArea/${PLATFORM} \
-    ${SOURCEDIR} 2>&1 | tee cmake_config.log || ((ERROR_COUNT++))
+    ${SOURCEDIR} || touch $error_stamp
+} 2>&1 | tee cmake_config.log 
+test -f $error_stamp && ((ERROR_COUNT++))
+rm -f $error_stamp
 
 # Build it:
-make -k || ((ERROR_COUNT++))
+error_stamp=`mktemp .tmp.error.XXXXX` ; rm -f $error_stamp
+{
+make -k || touch $error_stamp
+} 2>&1 | tee cmake_build.log
+test -f $error_stamp && ((ERROR_COUNT++))
+rm -f $error_stamp
+
 
 # Install it:
-make -k install/fast DESTDIR=${INSTALLDIR} || ((ERROR_COUNT++))
+error_stamp=`mktemp .tmp.error.XXXXX` ; rm -f $error_stamp
+{
+make -k install/fast DESTDIR=${INSTALLDIR} || touch $error_stamp
+} 2>&1 | tee cmake_install.log
+test -f $error_stamp && ((ERROR_COUNT++))
+rm -f $error_stamp
 
 # If no RPM directory was specified, stop here:
 if [ "$RPMDIR" = "" ]; then
@@ -103,9 +121,19 @@ if [ "$RPMDIR" = "" ]; then
 fi
 
 # Build the RPM for the project:
-cpack || ((ERROR_COUNT++))
-mkdir -p ${RPMDIR} || ((ERROR_COUNT++))
-cp GAUDI*.rpm ${RPMDIR} || ((ERROR_COUNT++))
+error_stamp=`mktemp .tmp.error.XXXXX` ; rm -f $error_stamp
+{
+cpack || touch $error_stamp
+} 2>&1 | tee cmake_cpack.log
+test -f $error_stamp && ((ERROR_COUNT++))
+rm -f $error_stamp
+
+error_stamp=`mktemp .tmp.error.XXXXX` ; rm -f $error_stamp
+{
+mkdir -p ${RPMDIR} && cp GAUDI*.rpm ${RPMDIR} || touch $error_stamp
+} 2>&1 | tee cp_rpm.log
+test -f $error_stamp && ((ERROR_COUNT++))
+rm -f $error_stamp
 
 if [ $ERROR_COUNT -ne 0 ]; then
 	echo "Gaudi build script counted $ERROR_COUNT errors"
diff --git a/Build/AtlasBuildScripts/build_atlasexternals.sh b/Build/AtlasBuildScripts/build_atlasexternals.sh
index 255698264cc..a77eece843b 100755
--- a/Build/AtlasBuildScripts/build_atlasexternals.sh
+++ b/Build/AtlasBuildScripts/build_atlasexternals.sh
@@ -79,16 +79,34 @@ if [ "$PROJECTVERSION" != "" ]; then
     EXTRACONF=-D${PNAME}_PROJECT_VERSION:STRING=${PROJECTVERSION}
 fi
 
+#FIXME: simplify error counting:
+
 # Configure the build:
-cmake -DCMAKE_BUILD_TYPE:STRING=${BUILDTYPE} -DCTEST_USE_LAUNCHERS:BOOL=TRUE \
+error_stamp=`mktemp .tmp.error.XXXXX` ; rm -f $error_stamp
+{
+ cmake -DCMAKE_BUILD_TYPE:STRING=${BUILDTYPE} -DCTEST_USE_LAUNCHERS:BOOL=TRUE \
     ${EXTRACONF} \
-    ${SOURCEDIR}/Projects/${PROJECT}/ 2>&1 | tee cmake_config.log || ((ERROR_COUNT++))
+    ${SOURCEDIR}/Projects/${PROJECT}/ || touch $error_stamp
+} 2>&1 | tee cmake_config.log 
+test -f $error_stamp && ((ERROR_COUNT++))
+rm -f $error_stamp #FIXME: w/o $error_stamp one can't pass the status outside  { ... } | tee ... shell
 
 # Build it:
-make -k || ((ERROR_COUNT++))
+error_stamp=`mktemp .tmp.error.XXXXX` ; rm -f $error_stamp
+{
+ make -k || touch $error_stamp
+} 2>&1 | tee cmake_build.log
+test -f $error_stamp && ((ERROR_COUNT++))
+rm -f $error_stamp 
 
 # Install it:
-make -k install/fast DESTDIR=${INSTALLDIR} || ((ERROR_COUNT++))
+error_stamp=`mktemp .tmp.error.XXXXX` ; rm -f $error_stamp
+{
+ make -k install/fast DESTDIR=${INSTALLDIR} || touch $error_stamp
+} 2>&1 | tee cmake_install.log
+test -f $error_stamp && ((ERROR_COUNT++))
+rm -f $error_stamp 
+ 
 
 # If no RPM directory was specified, stop here:
 if [ "$RPMDIR" = "" ]; then
@@ -96,10 +114,21 @@ if [ "$RPMDIR" = "" ]; then
 fi
 
 # Build the RPM or other package for the project:
-cpack || ((ERROR_COUNT++))
-mkdir -p ${RPMDIR} || ((ERROR_COUNT++))
-FILES=$(ls ${PROJECT}*.rpm ${PROJECT}*.tar.gz ${PROJECT}*.dmg 2> /dev/null)
-cp ${FILES} ${RPMDIR} || ((ERROR_COUNT++))
+error_stamp=`mktemp .tmp.error.XXXXX` ; rm -f $error_stamp
+{
+cpack || touch $error_stamp
+} 2>&1 | tee cmake_cpack.log
+test -f $error_stamp && ((ERROR_COUNT++))
+rm -f $error_stamp 
+    
+error_stamp=`mktemp .tmp.error.XXXXX` ; rm -f $error_stamp
+{
+ mkdir -p ${RPMDIR} && \
+ FILES=$(ls ${PROJECT}*.rpm ${PROJECT}*.tar.gz ${PROJECT}*.dmg 2> /dev/null) && \
+ cp ${FILES} ${RPMDIR} || touch $error_stamp
+} 2>&1 | tee cp_rpm.log
+test -f $error_stamp && ((ERROR_COUNT++))
+rm -f $error_stamp 
 
 if [ $ERROR_COUNT -ne 0 ]; then
 	echo "AtlasExternals build script counted $ERROR_COUNT errors"
-- 
GitLab