0026846: Configuration, genproj.tcl - create hardlinks instead for header redirection
[occt.git] / adm / genconf.tcl
index 26f9201..e90a70d 100644 (file)
@@ -27,8 +27,12 @@ source [file join [file dirname [info script]] genconfdeps.tcl]
 package require Tk
 
 set aRowIter 0
+set aCheckRowIter 0
 frame .myFrame -padx 5 -pady 5
 pack  .myFrame -fill both -expand 1
+frame .myFrame.myVsFrame
+frame .myFrame.myHxxChecks
+frame .myFrame.myChecks
 
 set SYS_VS_LIST {}
 set SYS_VC_LIST {}
@@ -86,8 +90,8 @@ proc wokdep:gui:Close {} {
 }
 
 proc wokdep:gui:SwitchConfig {} {
-  set ::VCVER  [lindex $::SYS_VC_LIST     [.myFrame.myVsCombo current]]
-  set ::VCVARS [lindex $::SYS_VCVARS_LIST [.myFrame.myVsCombo current]]
+  set ::VCVER  [lindex $::SYS_VC_LIST     [.myFrame.myVsFrame.myVsCombo current]]
+  set ::VCVARS [lindex $::SYS_VCVARS_LIST [.myFrame.myVsFrame.myVsCombo current]]
 
   set ::CSF_OPT_INC {}
   set ::CSF_OPT_LIB32 {}
@@ -132,9 +136,9 @@ proc wokdep:gui:UpdateList {} {
   if { "$::HAVE_TBB" == "true" } {
     wokdep:SearchTBB     anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
   }
-  if { "$::HAVE_OPENCL" == "true" } {
-    wokdep:SearchOpenCL  anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
-  }
+#  if { "$::HAVE_OPENCL" == "true" } {
+#    wokdep:SearchOpenCL  anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
+#  }
   if { "$::HAVE_VTK" == "true" } {
     wokdep:SearchVTK  anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
   }
@@ -359,41 +363,40 @@ proc wokdep:gui:Show64Bitness { theRowIter } {
 }
 
 # Header
-ttk::label    .myFrame.myVsLbl       -text "Visual Studio configuration" -relief solid -padding {5 5 80 5}
-ttk::combobox .myFrame.myVsCombo     -values $SYS_VS_LIST -state readonly -textvariable VSVER -width 30
-ttk::combobox .myFrame.myArchCombo   -values { {32} {64} } -textvariable ARCH -state readonly -width 6
+ttk::label    .myFrame.myVsFrame.myVsLbl       -text "Visual Studio configuration:" -padding {5 5 80 5}
+ttk::combobox .myFrame.myVsFrame.myVsCombo     -values $SYS_VS_LIST -state readonly -textvariable VSVER -width 30
+ttk::combobox .myFrame.myVsFrame.myArchCombo   -values { {32} {64} } -textvariable ARCH -state readonly -width 6
 entry         .myFrame.myVcEntry     -textvariable VCVER  -width 6
 entry         .myFrame.myVcVarsEntry -textvariable VCVARS -width 70
 ttk::button   .myFrame.myVcBrowseBtn -text "Browse" -command wokdep:gui:BrowseVcVars
 
 #
-ttk::label    .myFrame.myOcctBuildLbl -text "OCCT headers configuration" -relief solid -padding {5 5 80 5}
-checkbutton   .myFrame.myScutsCheck   -offvalue "false" -onvalue "true" -variable SHORTCUT_HEADERS
-ttk::label    .myFrame.myScutsLbl     -text "Short-cut headers instead original ones in inc"
+ttk::combobox .myFrame.myHxxChecks.myScutsCombo   -values { {ShortCut} {Copy} {HardLink} } -textvariable SHORTCUT_HEADERS -state readonly -width 12
+ttk::label    .myFrame.myHxxChecks.myScutsLbl     -text "Strategy for filling headers folder inc:"
 
 #
-ttk::label    .myFrame.mySrchLbl       -text "3rd-parties search path" -relief solid -padding {5 5 80 5}
+ttk::label    .myFrame.mySrchLbl       -text "3rd-parties search path:" -padding {5 5 80 5}
 entry         .myFrame.mySrchEntry     -textvariable PRODUCTS_PATH -width 80
 ttk::button   .myFrame.mySrchBrowseBtn -text "Browse" -command wokdep:gui:BrowsePartiesRoot
-checkbutton   .myFrame.myFImageCheck   -offvalue "false" -onvalue "true" -variable HAVE_FREEIMAGE -command wokdep:gui:UpdateList
-ttk::label    .myFrame.myFImageLbl     -text "Use FreeImage"
-checkbutton   .myFrame.myGl2psCheck    -offvalue "false" -onvalue "true" -variable HAVE_GL2PS     -command wokdep:gui:UpdateList
-ttk::label    .myFrame.myGl2psLbl      -text "Use GL2PS"
-checkbutton   .myFrame.myTbbCheck      -offvalue "false" -onvalue "true" -variable HAVE_TBB       -command wokdep:gui:UpdateList
-ttk::label    .myFrame.myTbbLbl        -text "Use Intel TBB"
-checkbutton   .myFrame.myOpenClCheck   -offvalue "false" -onvalue "true" -variable HAVE_OPENCL    -command wokdep:gui:UpdateList
-ttk::label    .myFrame.myOpenClLbl     -text "Use OpenCL"
-checkbutton   .myFrame.myMacGLXCheck   -offvalue "false" -onvalue "true" -variable MACOSX_USE_GLX
-ttk::label    .myFrame.myMacGLXLbl     -text "Use X11 for windows drawing"
-ttk::label    .myFrame.myVtkLbl        -text "Use VTK"
-checkbutton   .myFrame.myVtkCheck      -offvalue "false" -onvalue "true" -variable HAVE_VTK       -command wokdep:gui:UpdateList
-checkbutton   .myFrame.myQt4Check      -offvalue "false" -onvalue "true" -variable CHECK_QT4      -command wokdep:gui:UpdateList
-ttk::label    .myFrame.myQt4Lbl        -text "Search Qt4"
-checkbutton   .myFrame.myJDKCheck      -offvalue "false" -onvalue "true" -variable CHECK_JDK      -command wokdep:gui:UpdateList
-ttk::label    .myFrame.myJDKLbl        -text "Search JDK"
+checkbutton   .myFrame.myChecks.myFImageCheck   -offvalue "false" -onvalue "true" -variable HAVE_FREEIMAGE -command wokdep:gui:UpdateList
+ttk::label    .myFrame.myChecks.myFImageLbl     -text "Use FreeImage"
+checkbutton   .myFrame.myChecks.myGl2psCheck    -offvalue "false" -onvalue "true" -variable HAVE_GL2PS     -command wokdep:gui:UpdateList
+ttk::label    .myFrame.myChecks.myGl2psLbl      -text "Use GL2PS"
+checkbutton   .myFrame.myChecks.myTbbCheck      -offvalue "false" -onvalue "true" -variable HAVE_TBB       -command wokdep:gui:UpdateList
+ttk::label    .myFrame.myChecks.myTbbLbl        -text "Use Intel TBB"
+#checkbutton   .myFrame.myChecks.myOpenClCheck   -offvalue "false" -onvalue "true" -variable HAVE_OPENCL    -command wokdep:gui:UpdateList
+#ttk::label    .myFrame.myChecks.myOpenClLbl     -text "Use OpenCL"
+checkbutton   .myFrame.myChecks.myMacGLXCheck   -offvalue "false" -onvalue "true" -variable MACOSX_USE_GLX
+ttk::label    .myFrame.myChecks.myMacGLXLbl     -text "Use X11 for windows drawing"
+ttk::label    .myFrame.myChecks.myVtkLbl        -text "Use VTK"
+checkbutton   .myFrame.myChecks.myVtkCheck      -offvalue "false" -onvalue "true" -variable HAVE_VTK       -command wokdep:gui:UpdateList
+checkbutton   .myFrame.myChecks.myQt4Check      -offvalue "false" -onvalue "true" -variable CHECK_QT4      -command wokdep:gui:UpdateList
+ttk::label    .myFrame.myChecks.myQt4Lbl        -text "Search Qt4"
+checkbutton   .myFrame.myChecks.myJDKCheck      -offvalue "false" -onvalue "true" -variable CHECK_JDK      -command wokdep:gui:UpdateList
+ttk::label    .myFrame.myChecks.myJDKLbl        -text "Search JDK"
 
 # Additional headers search paths
-ttk::label    .myFrame.myIncLbl    -text "Additional headers search paths" -relief solid -padding {5 5 80 5}
+ttk::label    .myFrame.myIncLbl    -text "Additional headers search paths:" -padding {5 5 80 5}
 scrollbar     .myFrame.myIncScrl   -command ".myFrame.myIncList yview"
 listbox       .myFrame.myIncList   -listvariable CSF_OPT_INC -width 80 -height 5 -yscrollcommand ".myFrame.myIncScrl set"
 ttk::button   .myFrame.myIncAdd    -text "Add"     -command wokdep:gui:AddIncPath
@@ -403,7 +406,7 @@ ttk::button   .myFrame.myIncClear  -text "Reset"   -command wokdep:gui:ResetIncP
 ttk::label    .myFrame.myIncErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
 
 # Additional libraries (32-bit) search paths
-ttk::label    .myFrame.myLib32Lbl    -text "Additional libraries (32-bit) search paths" -relief solid -padding {5 5 80 5}
+ttk::label    .myFrame.myLib32Lbl    -text "Additional libraries (32-bit) search paths:" -padding {5 5 80 5}
 scrollbar     .myFrame.myLib32Scrl   -command ".myFrame.myLib32List yview"
 listbox       .myFrame.myLib32List   -listvariable CSF_OPT_LIB32 -width 80 -height 5 -yscrollcommand ".myFrame.myLib32Scrl set"
 ttk::button   .myFrame.myLib32Add    -text "Add"     -command wokdep:gui:AddLib32Path
@@ -413,7 +416,7 @@ ttk::button   .myFrame.myLib32Clear  -text "Reset"   -command wokdep:gui:ResetLi
 ttk::label    .myFrame.myLib32ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
 
 # Additional libraries (64-bit) search paths
-ttk::label    .myFrame.myLib64Lbl    -text "Additional libraries (64-bit) search paths" -relief solid -padding {5 5 80 5}
+ttk::label    .myFrame.myLib64Lbl    -text "Additional libraries (64-bit) search paths:" -padding {5 5 80 5}
 scrollbar     .myFrame.myLib64Scrl   -command ".myFrame.myLib64List yview"
 listbox       .myFrame.myLib64List   -listvariable CSF_OPT_LIB64 -width 80 -height 5 -yscrollcommand ".myFrame.myLib64Scrl set"
 ttk::button   .myFrame.myLib64Add    -text "Add"     -command wokdep:gui:AddLib64Path
@@ -423,7 +426,7 @@ ttk::button   .myFrame.myLib64Clear  -text "Reset"   -command wokdep:gui:ResetLi
 ttk::label    .myFrame.myLib64ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
 
 # Additional executables (32-bit) search paths
-ttk::label    .myFrame.myBin32Lbl    -text "Additional executables (32-bit) search paths" -relief solid -padding {5 5 80 5}
+ttk::label    .myFrame.myBin32Lbl    -text "Additional executables (32-bit) search paths:" -padding {5 5 80 5}
 scrollbar     .myFrame.myBin32Scrl   -command ".myFrame.myBin32List yview"
 listbox       .myFrame.myBin32List   -listvariable CSF_OPT_BIN32 -width 80 -height 5 -yscrollcommand ".myFrame.myBin32Scrl set"
 ttk::button   .myFrame.myBin32Add    -text "Add"     -command wokdep:gui:AddBin32Path
@@ -433,7 +436,7 @@ ttk::button   .myFrame.myBin32Clear  -text "Reset"   -command wokdep:gui:ResetBi
 ttk::label    .myFrame.myBin32ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
 
 # Additional executables (64-bit) search paths
-ttk::label    .myFrame.myBin64Lbl    -text "Additional executables (64-bit) search paths" -relief solid -padding {5 5 80 5}
+ttk::label    .myFrame.myBin64Lbl    -text "Additional executables (64-bit) search paths:" -padding {5 5 80 5}
 scrollbar     .myFrame.myBin64Scrl   -command ".myFrame.myBin64List yview"
 listbox       .myFrame.myBin64List   -listvariable CSF_OPT_BIN64 -width 80 -height 5 -yscrollcommand ".myFrame.myBin64Scrl set"
 ttk::button   .myFrame.myBin64Add    -text "Add"     -command wokdep:gui:AddBin64Path
@@ -449,10 +452,10 @@ ttk::button   .myFrame.myClose -text "Close" -command wokdep:gui:Close
 # Create grid
 # Header
 if { "$tcl_platform(platform)" == "windows" } {
-  grid .myFrame.myVsLbl       -row $aRowIter -column 0 -columnspan 10 -sticky w
-  incr aRowIter
-  grid .myFrame.myVsCombo     -row $aRowIter -column 0 -columnspan 2 -sticky w
-  grid .myFrame.myArchCombo   -row $aRowIter -column 2 -sticky w
+  grid .myFrame.myVsFrame               -row $aRowIter -column 0 -columnspan 10 -sticky w
+  grid .myFrame.myVsFrame.myVsLbl       -row 0 -column 0
+  grid .myFrame.myVsFrame.myVsCombo     -row 0 -column 1 -padx 5
+  grid .myFrame.myVsFrame.myArchCombo   -row 0 -column 2
   incr aRowIter
   grid .myFrame.myVcEntry     -row $aRowIter -column 0
   grid .myFrame.myVcVarsEntry -row $aRowIter -column 1 -columnspan 4 -sticky w
@@ -461,10 +464,9 @@ if { "$tcl_platform(platform)" == "windows" } {
 }
 
 #
-grid .myFrame.myOcctBuildLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
-incr aRowIter
-grid .myFrame.myScutsCheck   -row $aRowIter -column 0 -sticky e
-grid .myFrame.myScutsLbl     -row $aRowIter -column 1 -columnspan 2 -sticky w
+grid .myFrame.myHxxChecks -row $aRowIter -column 0 -columnspan 10 -sticky w
+grid .myFrame.myHxxChecks.myScutsLbl     -row 0 -column 0
+grid .myFrame.myHxxChecks.myScutsCombo   -row 0 -column 1
 incr aRowIter
 #
 grid .myFrame.mySrchLbl       -row $aRowIter -column 0 -columnspan 10 -sticky w
@@ -472,29 +474,29 @@ incr aRowIter
 grid .myFrame.mySrchEntry     -row $aRowIter -column 0 -columnspan 5
 grid .myFrame.mySrchBrowseBtn -row $aRowIter -column 6
 incr aRowIter
-grid .myFrame.myFImageCheck   -row $aRowIter -column 0 -sticky e
-grid .myFrame.myFImageLbl     -row $aRowIter -column 1 -sticky w
-grid .myFrame.myQt4Check      -row $aRowIter -column 2 -sticky e
-grid .myFrame.myQt4Lbl        -row $aRowIter -column 3 -sticky w
-incr aRowIter
-grid .myFrame.myGl2psCheck    -row $aRowIter -column 0 -sticky e
-grid .myFrame.myGl2psLbl      -row $aRowIter -column 1 -sticky w
-grid .myFrame.myJDKCheck      -row $aRowIter -column 2 -sticky e
-grid .myFrame.myJDKLbl        -row $aRowIter -column 3 -sticky w
-incr aRowIter
-grid .myFrame.myTbbCheck      -row $aRowIter -column 0 -sticky e
-grid .myFrame.myTbbLbl        -row $aRowIter -column 1 -sticky w
-incr aRowIter
-grid .myFrame.myOpenClCheck   -row $aRowIter -column 0 -sticky e
-grid .myFrame.myOpenClLbl     -row $aRowIter -column 1 -sticky w
-incr aRowIter
-grid .myFrame.myVtkCheck      -row $aRowIter -column 0 -sticky e
-grid .myFrame.myVtkLbl        -row $aRowIter -column 1 -sticky w
+
+grid .myFrame.myChecks        -row $aRowIter -column 0 -columnspan 10 -sticky w
 incr aRowIter
+grid .myFrame.myChecks.myFImageCheck   -row $aCheckRowIter -column 0 -sticky e
+grid .myFrame.myChecks.myFImageLbl     -row $aCheckRowIter -column 1 -sticky w
+grid .myFrame.myChecks.myTbbCheck      -row $aCheckRowIter -column 2 -sticky e
+grid .myFrame.myChecks.myTbbLbl        -row $aCheckRowIter -column 3 -sticky w
+grid .myFrame.myChecks.myQt4Check      -row $aCheckRowIter -column 4 -sticky e
+grid .myFrame.myChecks.myQt4Lbl        -row $aCheckRowIter -column 5 -sticky w
+#grid .myFrame.myChecks.myOpenClCheck   -row $aCheckRowIter -column 6 -sticky e
+#grid .myFrame.myChecks.myOpenClLbl     -row $aCheckRowIter -column 7 -sticky w
+incr aCheckRowIter
+grid .myFrame.myChecks.myGl2psCheck    -row $aCheckRowIter -column 0 -sticky e
+grid .myFrame.myChecks.myGl2psLbl      -row $aCheckRowIter -column 1 -sticky w
+grid .myFrame.myChecks.myVtkCheck      -row $aCheckRowIter -column 2 -sticky e
+grid .myFrame.myChecks.myVtkLbl        -row $aCheckRowIter -column 3 -sticky w
+grid .myFrame.myChecks.myJDKCheck      -row $aCheckRowIter -column 4 -sticky e
+grid .myFrame.myChecks.myJDKLbl        -row $aCheckRowIter -column 5 -sticky w
+incr aCheckRowIter
 if { "$::tcl_platform(os)" == "Darwin" } {
-  grid .myFrame.myMacGLXCheck -row $aRowIter -column 0 -sticky e
-  grid .myFrame.myMacGLXLbl   -row $aRowIter -column 1 -sticky w
-  incr aRowIter
+  grid .myFrame.myChecks.myMacGLXCheck -row $aCheckRowIter -column 0 -sticky e
+  grid .myFrame.myChecks.myMacGLXLbl   -row $aCheckRowIter -column 1 -sticky w
+  incr aCheckRowIter
 }
 
 # Additional headers search paths
@@ -528,10 +530,10 @@ grid .myFrame.mySave  -row $aRowIter -column 4 -columnspan 2
 grid .myFrame.myClose -row $aRowIter -column 6 -columnspan 2
 
 # Bind events
-bind .myFrame.myVsCombo <<ComboboxSelected>> {
+bind .myFrame.myVsFrame.myVsCombo <<ComboboxSelected>> {
   wokdep:gui:SwitchConfig
 }
-bind .myFrame.myArchCombo <<ComboboxSelected>> {
+bind .myFrame.myVsFrame.myArchCombo <<ComboboxSelected>> {
   wokdep:gui:SwitchArch
 }