diff --git a/CEP/Pipeline/recipes/sip/CMakeLists.txt b/CEP/Pipeline/recipes/sip/CMakeLists.txt index e3dd9365fe65c478f3866563f2491437eb92ad11..1ef8cc9a778e74fc7ffd18f45e23e99d26f9b361 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 060eea1d0c446ffeb5ac0433df0432c95964c845..8558bb5d9d089971751a5378e4ebed97bd18a221 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 61bd6cabfe19422e76a1fa84c9a9cb042c7e4bae..ea50b2d002a3425663fabb7fac46b15d6ec7f2f6 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 += +(.+)/;'`