Skip to content

Commit 1bf2655

Browse files
committed
Configuration - TCL OCCT version extraction issue
Enhance version detection in OCCDoc_DetectCasVersion
1 parent cc30b93 commit 1bf2655

File tree

2 files changed

+33
-11
lines changed

2 files changed

+33
-11
lines changed

.github/workflows/build-docs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ on:
88
push:
99
branches:
1010
- 'master'
11+
pull_request:
12+
branches:
13+
- '**'
1114

1215
jobs:
1316
build:

adm/occaux.tcl

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -144,20 +144,39 @@ proc OCCDoc_GetRelPath {thePathFrom thePathTo} {
144144

145145
# Returns OCCT version string from version.cmake (if available)
146146
proc OCCDoc_DetectCasVersion {} {
147+
# Default version in case the file is not found or readable
147148
set occt_ver "7.8.0"
148149
set occt_ver_add ""
149-
set filename "[OCCDoc_GetSourceDir]/../adm/cmake/version.cmake"
150-
if { [file exists $filename] } {
151-
set fh [open $filename "r"]
152-
set fh_loaded [read $fh]
153-
close $fh
154-
regexp {set\s+OCC_VERSION_MAJOR\s+([0-9]+)} $fh_loaded dummy major
155-
regexp {set\s+OCC_VERSION_MINOR\s+([0-9]+)} $fh_loaded dummy minor
156-
regexp {set\s+OCC_VERSION_MAINTENANCE\s+([0-9]+)} $fh_loaded dummy maint
157-
regexp {set\s+OCC_VERSION_DEVELOPMENT\s+\"([^\"]+)\"} $fh_loaded dummy occt_ver_add
158-
set occt_ver "$major.$minor.$maint"
159-
if { "$occt_ver_add" != "" } { set occt_ver ${occt_ver}.$occt_ver_add }
150+
151+
# Construct path to version.cmake relative to script location
152+
set filename "[file normalize [file dirname [info script]]/cmake/version.cmake]"
153+
154+
if { [file exists $filename] && [file readable $filename] } {
155+
if {[catch {
156+
set fh [open $filename "r"]
157+
set fh_loaded [read $fh]
158+
close $fh
159+
160+
# Use more robust regular expressions
161+
regexp {OCC_VERSION_MAJOR\s+(\d+)} $fh_loaded -> major
162+
regexp {OCC_VERSION_MINOR\s+(\d+)} $fh_loaded -> minor
163+
regexp {OCC_VERSION_MAINTENANCE\s+(\d+)} $fh_loaded -> maint
164+
regexp {OCC_VERSION_DEVELOPMENT\s+\"([^\"]+)\"} $fh_loaded -> occt_ver_add
165+
166+
if {[info exists major] && [info exists minor] && [info exists maint]} {
167+
puts "Info: Open CASCADE Technology version $major.$minor.$maint"
168+
set occt_ver "$major.$minor.$maint"
169+
if { [info exists occt_ver_add] && $occt_ver_add != "" } {
170+
set occt_ver ${occt_ver}.$occt_ver_add
171+
}
172+
}
173+
} err]} {
174+
puts "Warning: Error reading version from $filename: $err"
175+
}
176+
} else {
177+
puts "Warning: Version file $filename not found or not readable"
160178
}
179+
161180
return $occt_ver
162181
}
163182

0 commit comments

Comments
 (0)