]> OCCT Git - occt.git/commitdiff
Configuration - Version detection on MacOS #313
authorPasukhin Dmitry <dpasukhi@opencascade.com>
Fri, 31 Jan 2025 23:04:27 +0000 (00:04 +0100)
committerGitHub <noreply@github.com>
Fri, 31 Jan 2025 23:04:27 +0000 (23:04 +0000)
Improve version extraction and add error handling for missing version file

adm/scripts/build_common.sh

index ade4428660a978c514192fc6d0821e358ebdd53a..5c820f7e4a51243d18db99eb3fa046366aee964b 100644 (file)
@@ -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}"
+