From 4570c2753d7fe370e1d090af25c7b421a9914d5d Mon Sep 17 00:00:00 2001 From: dpasukhi Date: Fri, 31 Jan 2025 13:33:40 +0000 Subject: [PATCH] Configuration - Version detection on MacOS #313 Improve version extraction and add error handling for missing version file --- adm/scripts/build_common.sh | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/adm/scripts/build_common.sh b/adm/scripts/build_common.sh index ade4428660..5c820f7e4a 100644 --- a/adm/scripts/build_common.sh +++ b/adm/scripts/build_common.sh @@ -1,8 +1,30 @@ #!/bin/bash +# Ensure script dir is defined +if [ -z "$aScriptDir" ]; then + aScriptDir=$(dirname "$0") +fi + +# Check if version file exists +versionFile="$aScriptDir/../cmake/version.cmake" +if [ ! -f "$versionFile" ]; then + echo "Error: version.cmake not found" + exit 1 +fi + # Extract version info from version.cmake -anOcctVerSuffix=`grep -e "OCC_VERSION_DEVELOPMENT" "$aScriptDir/../cmake/version.cmake" | grep -o '".*"' | tr -d '"'` -OCC_VERSION_MAJOR=`grep -e "OCC_VERSION_MAJOR" "$aScriptDir/../cmake/version.cmake" | awk '{print $3}'` -OCC_VERSION_MINOR=`grep -e "OCC_VERSION_MINOR" "$aScriptDir/../cmake/version.cmake" | awk '{print $3}'` -OCC_VERSION_MAINTENANCE=`grep -e "OCC_VERSION_MAINTENANCE" "$aScriptDir/../cmake/version.cmake" | awk '{print $3}'` -anOcctVersion="$OCC_VERSION_MAJOR.$OCC_VERSION_MINOR.$OCC_VERSION_MAINTENANCE" +OCC_VERSION_MAJOR=$(awk '/set.*OCC_VERSION_MAJOR/ {print $3}' "$versionFile") +OCC_VERSION_MINOR=$(awk '/set.*OCC_VERSION_MINOR/ {print $3}' "$versionFile") +OCC_VERSION_MAINTENANCE=$(awk '/set.*OCC_VERSION_MAINTENANCE/ {print $3}' "$versionFile") +anOcctVerSuffix=$(awk '/set.*OCC_VERSION_DEVELOPMENT/ { + if (NF > 2) { + gsub(/[)" ]/, "", $3) + print $3 + } else { + print "" + } +}' "$versionFile") + +# Combine version string +anOcctVersion="${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}" +