From bf5a5a3b283e6c183aa9637e90eef99bdf98b083 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Tue, 15 Mar 2016 09:48:22 +0000
Subject: [PATCH] Task #8437: Fixed calls to docker-template and versiondocker

---
 CEP/Pipeline/recipes/sip/CMakeLists.txt |  4 ++--
 Docker/CMakeLists.txt                   |  2 +-
 Docker/docker-template                  | 29 +++++++++++++++++++++++--
 3 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/CEP/Pipeline/recipes/sip/CMakeLists.txt b/CEP/Pipeline/recipes/sip/CMakeLists.txt
index e3dd9365fe6..1ef8cc9a778 100644
--- a/CEP/Pipeline/recipes/sip/CMakeLists.txt
+++ b/CEP/Pipeline/recipes/sip/CMakeLists.txt
@@ -138,8 +138,8 @@ foreach(_file pipeline.cfg.CEP4)
   # when "all" is build.
   add_custom_command(
     OUTPUT ${_dst}
-    COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/docker-template < ${_src} > ${_dst}
-    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docker-template ${_src} ${CMAKE_CURRENT_BINARY_DIR}/versiondocker
+    COMMAND ${CMAKE_SOURCE_DIR}/Docker/docker-template -v ${CMAKE_BINARY_DIR}/Docker/versiondocker < ${_src} > ${_dst}
+    DEPENDS ${CMAKE_SOURCE_DIR}/Docker/docker-template ${_src} ${CMAKE_BINARY_DIR}/Docker/versiondocker
   )
   add_custom_target(${_file}_target ALL DEPENDS ${_dst})
 
diff --git a/Docker/CMakeLists.txt b/Docker/CMakeLists.txt
index 060eea1d0c4..8558bb5d9d0 100644
--- a/Docker/CMakeLists.txt
+++ b/Docker/CMakeLists.txt
@@ -42,7 +42,7 @@ foreach(_dir ${DOCKER_TEMPLATE_DIRS})
   # when "all" is build.
   add_custom_command(
     OUTPUT ${_dst}
-    COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/docker-template < ${_src} > ${_dst}
+    COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/docker-template -v ${CMAKE_CURRENT_BINARY_DIR}/versiondocker < ${_src} > ${_dst}
     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docker-template ${_src} ${CMAKE_CURRENT_BINARY_DIR}/versiondocker
   )
   add_custom_target(${_dir}_Dockerfile_target ALL DEPENDS ${_dst})
diff --git a/Docker/docker-template b/Docker/docker-template
index 61bd6cabfe1..ea50b2d002a 100755
--- a/Docker/docker-template
+++ b/Docker/docker-template
@@ -18,9 +18,34 @@
 # ----- LOFAR_BRANCH_NAME = tags/LOFAR-Release-2_15_1 -----
 # ----- LOFAR_BRANCH_NAME = UNKNOWN -----
 
+function usage() {
+  echo "$0 [-v VERSIONDOCKER]"
+  echo ""
+  echo "  -v VERSIONDOCKER   Provides location of 'versiondocker' executable"
+  echo ""
+  exit 1
+}
+
+# Defaults
+VERSION_DOCKER="versiondocker"
+
+# Parse options
+while getopts "hv:" opt; do
+  case $opt in
+    h)  usage
+        ;;
+    v)  VERSION_DOCKER="$OPTARG"
+        ;;
+    \?) error "Invalid option: -$OPTARG"
+        ;;
+    :)  error "Option requires an argument: -$OPTARG"
+        ;;
+  esac
+done
+[ $OPTIND -eq 1 ] && usage
+
 # Make sure we obtain info about the project source!
-#PATH=$PATH:.
-VERSION_INFO=`(versiondocker || ./versiondocker) 2>/dev/null` # in cmake, executable is in .
+VERSION_INFO=`$VERSION_DOCKER`
 
 # Extract branch name w.r.t. repository root, e.g. branches/LOFAR-Task1234
 export LOFAR_BRANCH_NAME=`echo "$VERSION_INFO" | perl -ne 'print "$1" if /branch += +(.+)/;'`
-- 
GitLab