diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index ec257120cd..becb4afe08 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -8,6 +8,9 @@ on: push: branches: - 'master' + pull_request: + branches: + - '**' jobs: build: diff --git a/adm/occaux.tcl b/adm/occaux.tcl index a2c87bc5d1..5e3861a58e 100644 --- a/adm/occaux.tcl +++ b/adm/occaux.tcl @@ -144,20 +144,39 @@ proc OCCDoc_GetRelPath {thePathFrom thePathTo} { # Returns OCCT version string from version.cmake (if available) proc OCCDoc_DetectCasVersion {} { + # Default version in case the file is not found or readable set occt_ver "7.8.0" set occt_ver_add "" - set filename "[OCCDoc_GetSourceDir]/../adm/cmake/version.cmake" - if { [file exists $filename] } { - set fh [open $filename "r"] - set fh_loaded [read $fh] - close $fh - regexp {set\s+OCC_VERSION_MAJOR\s+([0-9]+)} $fh_loaded dummy major - regexp {set\s+OCC_VERSION_MINOR\s+([0-9]+)} $fh_loaded dummy minor - regexp {set\s+OCC_VERSION_MAINTENANCE\s+([0-9]+)} $fh_loaded dummy maint - regexp {set\s+OCC_VERSION_DEVELOPMENT\s+\"([^\"]+)\"} $fh_loaded dummy occt_ver_add - set occt_ver "$major.$minor.$maint" - if { "$occt_ver_add" != "" } { set occt_ver ${occt_ver}.$occt_ver_add } + + # Construct path to version.cmake relative to script location + set filename "[file normalize [file dirname [info script]]/cmake/version.cmake]" + + if { [file exists $filename] && [file readable $filename] } { + if {[catch { + set fh [open $filename "r"] + set fh_loaded [read $fh] + close $fh + + # Use more robust regular expressions + regexp {OCC_VERSION_MAJOR\s+(\d+)} $fh_loaded -> major + regexp {OCC_VERSION_MINOR\s+(\d+)} $fh_loaded -> minor + regexp {OCC_VERSION_MAINTENANCE\s+(\d+)} $fh_loaded -> maint + regexp {OCC_VERSION_DEVELOPMENT\s+\"([^\"]+)\"} $fh_loaded -> occt_ver_add + + if {[info exists major] && [info exists minor] && [info exists maint]} { + puts "Info: Open CASCADE Technology version $major.$minor.$maint" + set occt_ver "$major.$minor.$maint" + if { [info exists occt_ver_add] && $occt_ver_add != "" } { + set occt_ver ${occt_ver}.$occt_ver_add + } + } + } err]} { + puts "Warning: Error reading version from $filename: $err" + } + } else { + puts "Warning: Version file $filename not found or not readable" } + return $occt_ver }