0033661: Data Exchange, Step Import - Tessellated GDTs are not imported
[occt.git] / adm / genconf.tcl
CommitLineData
910970ab 1#!/usr/bin/tclsh
2
d1a67b9d 3# =======================================================================
4# Created on: 2012-01-26
5# Created by: Kirill GAVRILOV
6# Copyright (c) 2012 OPEN CASCADE SAS
7#
8# This file is part of Open CASCADE Technology software library.
9#
10# This library is free software; you can redistribute it and/or modify it under
11# the terms of the GNU Lesser General Public License version 2.1 as published
12# by the Free Software Foundation, with special exception defined in the file
13# OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
14# distribution for complete text of the license and disclaimer of any warranty.
15#
16# Alternatively, this file may be used under the terms of Open CASCADE
17# commercial license or contractual agreement.
18
19# =======================================================================
20# GUI procedure for search of third-party tools and generation of environment
21# customization script
22# =======================================================================
910970ab 23
d1a67b9d 24# load tools
25source [file join [file dirname [info script]] genconfdeps.tcl]
26
f4b0c772 27# proxy variable for implicit file path normalization
28set PRODUCTS_PATH_INPUT "$::PRODUCTS_PATH"
29
d1a67b9d 30package require Tk
910970ab 31
32set aRowIter 0
ea991a6e 33set aCheckRowIter 0
910970ab 34frame .myFrame -padx 5 -pady 5
35pack .myFrame -fill both -expand 1
aafe169f 36frame .myFrame.myPrjFrame
ea991a6e 37frame .myFrame.myVsFrame
38frame .myFrame.myHxxChecks
39frame .myFrame.myChecks
910970ab 40
aafe169f 41# project file format
42set SYS_PRJFMT_LIST {}
43set SYS_PRJNAME_LIST {}
44if { "$::tcl_platform(platform)" == "windows" } {
45 lappend ::SYS_PRJFMT_LIST "vcxproj"
46 lappend ::SYS_PRJNAME_LIST "Visual Studio (.vcxproj)"
47}
48if { "$tcl_platform(os)" == "Darwin" } {
49 lappend ::SYS_PRJFMT_LIST "xcd"
50 lappend ::SYS_PRJNAME_LIST "XCode (.xcd)"
51}
52lappend ::SYS_PRJFMT_LIST "cbp"
53lappend ::SYS_PRJNAME_LIST "Code Blocks (.cbp)"
54lappend ::SYS_PRJFMT_LIST "pro"
55lappend ::SYS_PRJNAME_LIST "Qt Creator (.pro)"
56
57set aPrjIndex [lsearch $::SYS_PRJFMT_LIST $::PRJFMT]
58set ::PRJNAME [lindex $::SYS_PRJNAME_LIST $aPrjIndex]
ea99d048 59set ::CONFIG "Release"
aafe169f 60
910970ab 61set SYS_VS_LIST {}
62set SYS_VC_LIST {}
63set SYS_VCVARS_LIST {}
64
c8428cb3 65# detect installed Visual Studio 2017+ instances by running vswhere.exe
4e2151f6 66if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] && "$res" != "" } {
d6cda17a 67 lappend ::SYS_VS_LIST "Visual Studio 2017 (15, toolset v141)"
68 lappend ::SYS_VC_LIST "vc141"
4e2151f6 69 lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
d6cda17a 70}
4e2151f6 71if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] && "$res" != "" } {
d6cda17a 72 lappend ::SYS_VS_LIST "Visual Studio 2017 (15, toolset v141) UWP"
73 lappend ::SYS_VC_LIST "vc141-uwp"
4e2151f6 74 lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
39bff09c 75}
4e2151f6 76if { ! [catch {exec vswhere.exe -version "\[16.0,16.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] && "$res" != "" } {
c8428cb3 77 lappend ::SYS_VS_LIST "Visual Studio 2019 (16, toolset v142)"
78 lappend ::SYS_VC_LIST "vc142"
4e2151f6 79 lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
c8428cb3 80}
4e2151f6 81if { ! [catch {exec vswhere.exe -version "\[16.0,16.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] && "$res" != "" } {
c8428cb3 82 lappend ::SYS_VS_LIST "Visual Studio 2019 (16, toolset v142) UWP"
83 lappend ::SYS_VC_LIST "vc142-uwp"
4e2151f6 84 lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
c8428cb3 85}
4e2151f6 86if { ! [catch {exec vswhere.exe -version "\[16.0,16.99\]" -latest -requires Microsoft.VisualStudio.Component.VC.ClangCL -property installationPath} res] && "$res" != "" } {
1bd04b5a 87 lappend ::SYS_VS_LIST "Visual Studio 2019 (16, toolset ClangCL)"
88 lappend ::SYS_VC_LIST "vclang"
4e2151f6 89 lappend ::SYS_VCVARS_LIST "$res\\VC\Auxiliary\\Build\\vcvarsall.bat"
90}
91if { ! [catch {exec vswhere.exe -version "\[17.0,17.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] && "$res" != "" } {
92 lappend ::SYS_VS_LIST "Visual Studio 2022 (17, toolset v143)"
93 lappend ::SYS_VC_LIST "vc143"
94 lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
95}
96if { ! [catch {exec vswhere.exe -version "\[17.0,17.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] && "$res" != "" } {
97 lappend ::SYS_VS_LIST "Visual Studio 2022 (17, toolset v143) UWP"
98 lappend ::SYS_VC_LIST "vc143-uwp"
99 lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
100}
101if { ! [catch {exec vswhere.exe -version "\[17.0,17.99\]" -latest -requires Microsoft.VisualStudio.Component.VC.ClangCL -property installationPath} res] && "$res" != "" } {
102 lappend ::SYS_VS_LIST "Visual Studio 2022 (17, toolset ClangCL)"
103 lappend ::SYS_VC_LIST "vclang"
104 lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
1bd04b5a 105}
d6cda17a 106
107# detect installed Visual Studio instances from global environment
39bff09c 108if { [info exists ::env(VS140COMNTOOLS)] } {
d6cda17a 109 lappend ::SYS_VS_LIST "Visual Studio 2015 (14, toolset v140)"
39bff09c 110 lappend ::SYS_VC_LIST "vc14"
111 lappend ::SYS_VCVARS_LIST "%VS140COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
d6cda17a 112
113 lappend ::SYS_VS_LIST "Visual Studio 2015 (14, toolset v140) UWP"
114 lappend ::SYS_VC_LIST "vc14-uwp"
115 lappend ::SYS_VCVARS_LIST "%VS140COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
910970ab 116}
117if { [info exists ::env(VS120COMNTOOLS)] } {
d6cda17a 118 lappend ::SYS_VS_LIST "Visual Studio 2013 (12, toolset v120)"
910970ab 119 lappend ::SYS_VC_LIST "vc12"
120 lappend ::SYS_VCVARS_LIST "%VS120COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
121}
122if { [info exists ::env(VS110COMNTOOLS)] } {
d6cda17a 123 lappend ::SYS_VS_LIST "Visual Studio 2012 (11, toolset v110)"
910970ab 124 lappend ::SYS_VC_LIST "vc11"
125 lappend ::SYS_VCVARS_LIST "%VS110COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
126}
127if { [info exists ::env(VS100COMNTOOLS)] } {
d6cda17a 128 lappend ::SYS_VS_LIST "Visual Studio 2010 (10, toolset v100)"
910970ab 129 lappend ::SYS_VC_LIST "vc10"
130 lappend ::SYS_VCVARS_LIST "%VS100COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
131}
132if { [info exists ::env(VS90COMNTOOLS)] } {
d6cda17a 133 lappend ::SYS_VS_LIST "Visual Studio 2008 (9, toolset v90)"
910970ab 134 lappend ::SYS_VC_LIST "vc9"
135 lappend ::SYS_VCVARS_LIST "%VS90COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
136}
137if { [info exists ::env(VS80COMNTOOLS)] } {
d6cda17a 138 lappend ::SYS_VS_LIST "Visual Studio 2005 (8, toolset v80)"
910970ab 139 lappend ::SYS_VC_LIST "vc8"
140 lappend ::SYS_VCVARS_LIST "%VS80COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
141}
142lappend ::SYS_VS_LIST "Custom"
143lappend ::SYS_VC_LIST "vcX"
144lappend ::SYS_VCVARS_LIST "%VSXXCOMNTOOLS%..\\..\\VC\\vcvarsall.bat"
145
146set aVcVerIndex [lsearch $::SYS_VC_LIST $::VCVER]
147set ::VSVER [lindex $::SYS_VS_LIST $aVcVerIndex]
148if { "$::VCVARS" == "" } {
149 set ::VCVARS [lindex $::SYS_VCVARS_LIST $aVcVerIndex]
150}
151
152proc wokdep:gui:Close {} {
153 # if changed ask
154 exit
155}
156
ea99d048 157proc wokdep:gui:configSuffix {} {
158 if { "$::CONFIG" == "Debug" } {
159 return "D"
160 }
161 return ""
162}
163
910970ab 164proc wokdep:gui:SwitchConfig {} {
aafe169f 165 set ::PRJFMT [lindex $::SYS_PRJFMT_LIST [.myFrame.myPrjFrame.myPrjCombo current]]
ea991a6e 166 set ::VCVER [lindex $::SYS_VC_LIST [.myFrame.myVsFrame.myVsCombo current]]
167 set ::VCVARS [lindex $::SYS_VCVARS_LIST [.myFrame.myVsFrame.myVsCombo current]]
910970ab 168
169 set ::CSF_OPT_INC {}
170 set ::CSF_OPT_LIB32 {}
171 set ::CSF_OPT_LIB64 {}
172 set ::CSF_OPT_BIN32 {}
173 set ::CSF_OPT_BIN64 {}
ea99d048 174 set ::CSF_OPT_LIB32D {}
175 set ::CSF_OPT_LIB64D {}
176 set ::CSF_OPT_BIN32D {}
177 set ::CSF_OPT_BIN64D {}
910970ab 178 wokdep:gui:UpdateList
179}
180
181proc wokdep:gui:SwitchArch {} {
ea99d048 182 wokdep:gui:Show3264Bitness ::aRowIter
910970ab 183
184 if { [llength [grid info .myFrame.mySave]] != 0 } {
185 grid forget .myFrame.mySave .myFrame.myClose
186 }
187
188 # Bottom section
189 grid .myFrame.mySave -row $::aRowIter -column 4 -columnspan 2
190 grid .myFrame.myClose -row $::aRowIter -column 6 -columnspan 2
191}
192
eba0379c 193# update label text and visibility
194font create wokdep:gui:EmptyFont -size -1
195proc wokdep:gui:SetLabelText {theLabel theText} {
196 set aFont TkDefaultFont
197 if { $theText == "" } {
198 set aFont wokdep:gui:EmptyFont
199 }
200 $theLabel configure -text $theText -font $aFont
201}
202
910970ab 203proc wokdep:gui:UpdateList {} {
204 set anIncErrs {}
205 set anLib32Errs {}
206 set anLib64Errs {}
207 set anBin32Errs {}
208 set anBin64Errs {}
209 wokdep:SearchTclTk anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
5c9493b3 210 if { "$::HAVE_FREETYPE" == "true" } {
211 wokdep:SearchFreeType anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
212 }
910970ab 213 wokdep:SearchX11 anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
1ce0716b 214 if { "$::HAVE_GLES2" == "true" } {
1ce0716b 215 wokdep:SearchEGL anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
216 wokdep:SearchGLES anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
217 }
910970ab 218 if { "$::HAVE_FREEIMAGE" == "true" } {
219 wokdep:SearchFreeImage anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
220 }
e22105a9 221 if { "$::HAVE_FFMPEG" == "true" } {
222 wokdep:SearchFFmpeg anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
223 }
b40cdc2b 224 if { "$::HAVE_OPENVR" == "true" } {
225 wokdep:SearchOpenVR anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
226 }
910970ab 227 if { "$::HAVE_TBB" == "true" } {
228 wokdep:SearchTBB anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
229 }
944d808c 230# if { "$::HAVE_OPENCL" == "true" } {
231# wokdep:SearchOpenCL anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
232# }
910970ab 233 if { "$::HAVE_VTK" == "true" } {
234 wokdep:SearchVTK anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
235 }
e22105a9 236
237 if { "$::HAVE_ZLIB" == "true" } {
6a56fe92 238 set aCheckLib "z"
239 if { "$::tcl_platform(platform)" == "windows" } {
240 set aCheckLib "zlib"
241 }
242 wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "zlib" "zlib.h" "$aCheckLib" {"zlib"}
e22105a9 243 }
244 if { "$::HAVE_LIBLZMA" == "true" } {
245 set aCheckLib "lzma"
246 if { "$::tcl_platform(platform)" == "windows" } {
247 set aCheckLib "liblzma"
248 }
249 wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "liblzma" "lzma.h" "$aCheckLib" {"lzma" "xz"}
250 }
27bd52b5 251 if { "$::HAVE_E57" == "true" } {
252 wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "e57" "e57/E57Foundation.h" "E57RefImpl" {"e57"}
253 set aCheckLib "xerces-c"
254 if { "$::tcl_platform(platform)" == "windows" } {
255 set aCheckLib "xerces-c_3"
256 }
257 wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "xerces-c" "xercesc/sax2/XMLReaderFactory.hpp" "$aCheckLib" {"xerces"}
258 }
0a419c51 259 if { "$::HAVE_RAPIDJSON" == "true" } {
260 wokdep:SearchRapidJson anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
261 }
d9d75a84 262 if { "$::HAVE_DRACO" == "true" } {
263 set aDummy {}
264 wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs aDummy aDummy "draco" "draco/compression/decode.h" "draco" {"draco"}
265 }
e22105a9 266
f6d8ca74 267 if {"$::BUILD_Inspector" == "true" } {
268 set ::CHECK_QT "true"
910970ab 269 }
f6d8ca74 270
271 if { "$::CHECK_QT" == "true" } {
272 wokdep:SearchQt anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
273 }
274
910970ab 275 if { "$::CHECK_JDK" == "true" } {
276 wokdep:SearchJDK anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
277 }
278
eba0379c 279 wokdep:gui:SetLabelText .myFrame.myIncErrLbl [join $anIncErrs "\n"]
280
281 wokdep:gui:SetLabelText .myFrame.myIncErrLbl [join $anIncErrs "\n"]
282 wokdep:gui:SetLabelText .myFrame.myLib32_ErrLbl [join $anLib32Errs "\n"]
283 wokdep:gui:SetLabelText .myFrame.myLib64_ErrLbl [join $anLib64Errs "\n"]
284 wokdep:gui:SetLabelText .myFrame.myBin32_ErrLbl [join $anBin32Errs "\n"]
285 wokdep:gui:SetLabelText .myFrame.myBin64_ErrLbl [join $anBin64Errs "\n"]
ea99d048 286
eba0379c 287 wokdep:gui:SetLabelText .myFrame.myLib32D_ErrLbl [join $anLib32Errs "\n"]
288 wokdep:gui:SetLabelText .myFrame.myLib64D_ErrLbl [join $anLib64Errs "\n"]
289 wokdep:gui:SetLabelText .myFrame.myBin32D_ErrLbl [join $anBin32Errs "\n"]
290 wokdep:gui:SetLabelText .myFrame.myBin64D_ErrLbl [join $anBin64Errs "\n"]
ea99d048 291
292 # merge duplicates
293 set ::CSF_OPT_LIB32 [lsort -unique $::CSF_OPT_LIB32]
294 set ::CSF_OPT_LIB64 [lsort -unique $::CSF_OPT_LIB64]
295 set ::CSF_OPT_BIN32 [lsort -unique $::CSF_OPT_BIN32]
296 set ::CSF_OPT_BIN64 [lsort -unique $::CSF_OPT_BIN64]
297 set ::CSF_OPT_LIB32D [lsort -unique $::CSF_OPT_LIB32D]
298 set ::CSF_OPT_LIB64D [lsort -unique $::CSF_OPT_LIB64D]
299 set ::CSF_OPT_BIN32D [lsort -unique $::CSF_OPT_BIN32D]
300 set ::CSF_OPT_BIN64D [lsort -unique $::CSF_OPT_BIN64D]
910970ab 301}
302
303proc wokdep:gui:BrowseVcVars {} {
304 set aResult [tk_chooseDirectory -initialdir $::VCVARS -title "Choose a directory"]
305 if { "$aResult" != "" } {
306 set ::VCVARS $aResult
307 }
308}
309
310proc wokdep:gui:BrowsePartiesRoot {} {
f4b0c772 311 set aResult [tk_chooseDirectory -initialdir $::PRODUCTS_PATH_INPUT -title "Choose a directory"]
910970ab 312 if { "$aResult" != "" } {
f4b0c772 313 set ::PRODUCTS_PATH_INPUT $aResult
910970ab 314 wokdep:gui:UpdateList
315 }
316}
317
318proc wokdep:gui:AddIncPath {} {
319 set aResult [tk_chooseDirectory -title "Choose a directory"]
320 if { "$aResult" != "" } {
321 lappend ::CSF_OPT_INC "$aResult"
322 wokdep:gui:UpdateList
323 }
324}
325
ea99d048 326proc wokdep:gui:AddLibPath {} {
327 set aCfg [wokdep:gui:configSuffix]
910970ab 328 set aResult [tk_chooseDirectory -title "Choose a directory"]
329 if { "$aResult" != "" } {
ea99d048 330 lappend ::CSF_OPT_LIB${::ARCH}${aCfg} "$aResult"
910970ab 331 wokdep:gui:UpdateList
332 }
333}
334
ea99d048 335proc wokdep:gui:AddBinPath {} {
336 set aCfg [wokdep:gui:configSuffix]
910970ab 337 set aResult [tk_chooseDirectory -title "Choose a directory"]
338 if { "$aResult" != "" } {
ea99d048 339 lappend ::CSF_OPT_BIN${::ARCH}${aCfg} "$aResult"
910970ab 340 wokdep:gui:UpdateList
341 }
342}
343
344proc wokdep:gui:RemoveIncPath {} {
345 set aSelIndices [.myFrame.myIncList curselection]
346 if { [llength $aSelIndices] != 0 } {
347 .myFrame.myIncList delete [lindex $aSelIndices 0]
348 }
349 wokdep:gui:UpdateList
350}
351
ea99d048 352proc wokdep:gui:RemoveLibPath {} {
353 set aCfg [wokdep:gui:configSuffix]
354 set aSelIndices [.myFrame.myLib${::ARCH}${aCfg}_List curselection]
910970ab 355 if { [llength $aSelIndices] != 0 } {
ea99d048 356 .myFrame.myLib${::ARCH}${aCfg}_List delete [lindex $aSelIndices 0]
910970ab 357 }
358 wokdep:gui:UpdateList
359}
360
ea99d048 361proc wokdep:gui:RemoveBinPath {} {
362 set aCfg [wokdep:gui:configSuffix]
363 set aSelIndices [.myFrame.myBin${::ARCH}${aCfg}_List curselection]
910970ab 364 if { [llength $aSelIndices] != 0 } {
ea99d048 365 .myFrame.myBin${::ARCH}${aCfg}_List delete [lindex $aSelIndices 0]
910970ab 366 }
367 wokdep:gui:UpdateList
368}
369
370proc wokdep:gui:ResetIncPath {} {
371 set ::CSF_OPT_INC {}
372 wokdep:gui:UpdateList
373}
374
ea99d048 375proc wokdep:gui:ResetLibPath {} {
376 set ::CSF_OPT_LIB${::ARCH} {}
377 set ::CSF_OPT_LIB${::ARCH}D {}
378 set ::CSF_OPT_BIN${::ARCH} {}
379 set ::CSF_OPT_BIN${::ARCH}D {}
910970ab 380 wokdep:gui:UpdateList
381}
382
ea99d048 383proc wokdep:gui:Show3264Bitness { theRowIter } {
910970ab 384 upvar $theRowIter aRowIter
385
ea99d048 386 set aArchOld ""
387 set aCfg [wokdep:gui:configSuffix]
388 if { "$::ARCH" == "32" } {
389 set aArchOld "64"
390 } else {
391 set aArchOld "32"
392 }
393
394 set aCfgOld "D"
395 if { "$::CONFIG" == "Debug" } { set aCfgOld "" }
396 set aDelArch ${aArchOld}${aCfg}
397 if { [llength [grid info .myFrame.myLib${aDelArch}_Lbl]] != 0 } {
398 grid forget .myFrame.myLib${aDelArch}_Lbl .myFrame.myLib${aDelArch}_List .myFrame.myLib${aDelArch}_Scrl
399 grid forget .myFrame.myLib${aDelArch}_Add .myFrame.myLib${aDelArch}_Remove .myFrame.myLib${aDelArch}_Clear .myFrame.myLib${aDelArch}_ErrLbl
400 grid forget .myFrame.myBin${aDelArch}_Lbl .myFrame.myBin${aDelArch}_List .myFrame.myBin${aDelArch}_Scrl
401 grid forget .myFrame.myBin${aDelArch}_Add .myFrame.myBin${aDelArch}_Remove .myFrame.myBin${aDelArch}_Clear .myFrame.myBin${aDelArch}_ErrLbl
402 }
403 set aDelCfg ${::ARCH}${aCfgOld}
404 if { [llength [grid info .myFrame.myLib${aDelCfg}_Lbl]] != 0 } {
405 grid forget .myFrame.myLib${aDelCfg}_Lbl .myFrame.myLib${aDelCfg}_List .myFrame.myLib${aDelCfg}_Scrl
406 grid forget .myFrame.myLib${aDelCfg}_Add .myFrame.myLib${aDelCfg}_Remove .myFrame.myLib${aDelCfg}_Clear .myFrame.myLib${aDelCfg}_ErrLbl
407 grid forget .myFrame.myBin${aDelCfg}_Lbl .myFrame.myBin${aDelCfg}_List .myFrame.myBin${aDelCfg}_Scrl
408 grid forget .myFrame.myBin${aDelCfg}_Add .myFrame.myBin${aDelCfg}_Remove .myFrame.myBin${aDelCfg}_Clear .myFrame.myBin${aDelCfg}_ErrLbl
409 }
410
411 set aNewCfg ${::ARCH}${aCfg}
412 # Additional libraries search paths
413 grid .myFrame.myLib${aNewCfg}_Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
910970ab 414 incr aRowIter
ea99d048 415 grid .myFrame.myLib${aNewCfg}_List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
416 grid .myFrame.myLib${aNewCfg}_Scrl -row $aRowIter -column 5 -rowspan 4
417 grid .myFrame.myLib${aNewCfg}_Add -row $aRowIter -column 6
910970ab 418 incr aRowIter
ea99d048 419 #grid .myFrame.myLib${aNewCfg}_Edit -row $aRowIter -column 6
910970ab 420 incr aRowIter
ea99d048 421 grid .myFrame.myLib${aNewCfg}_Remove -row $aRowIter -column 6
910970ab 422 incr aRowIter
ea99d048 423 grid .myFrame.myLib${aNewCfg}_Clear -row $aRowIter -column 6
910970ab 424 incr aRowIter
ea99d048 425 grid .myFrame.myLib${aNewCfg}_ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
910970ab 426 incr aRowIter
427
ea99d048 428 # Additional executables search paths
429 grid .myFrame.myBin${aNewCfg}_Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
910970ab 430 incr aRowIter
ea99d048 431 grid .myFrame.myBin${aNewCfg}_List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
432 grid .myFrame.myBin${aNewCfg}_Scrl -row $aRowIter -column 5 -rowspan 4
433 grid .myFrame.myBin${aNewCfg}_Add -row $aRowIter -column 6
910970ab 434 incr aRowIter
ea99d048 435 #grid .myFrame.myBin${aNewCfg}_Edit -row $aRowIter -column 6
910970ab 436 incr aRowIter
ea99d048 437 grid .myFrame.myBin${aNewCfg}_Remove -row $aRowIter -column 6
910970ab 438 incr aRowIter
ea99d048 439 grid .myFrame.myBin${aNewCfg}_Clear -row $aRowIter -column 6
910970ab 440 incr aRowIter
ea99d048 441 grid .myFrame.myBin${aNewCfg}_ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
910970ab 442 incr aRowIter
443}
444
445# Header
aafe169f 446ttk::label .myFrame.myPrjFrame.myPrjLbl -text "Project format:" -padding {5 5 20 5}
447ttk::combobox .myFrame.myPrjFrame.myPrjCombo -values $SYS_PRJNAME_LIST -state readonly -textvariable PRJNAME -width 40
d6cda17a 448ttk::label .myFrame.myVsFrame.myVsLbl -text "Visual Studio configuration:" -padding {5 5 20 5}
449ttk::combobox .myFrame.myVsFrame.myVsCombo -values $SYS_VS_LIST -state readonly -textvariable VSVER -width 40
ea991a6e 450ttk::combobox .myFrame.myVsFrame.myArchCombo -values { {32} {64} } -textvariable ARCH -state readonly -width 6
ea99d048 451ttk::combobox .myFrame.myVsFrame.myConfigCombo -values { {Release} {Debug} } -textvariable CONFIG -state readonly -width 6
d6cda17a 452entry .myFrame.myVcEntry -textvariable VCVER -width 10
910970ab 453entry .myFrame.myVcVarsEntry -textvariable VCVARS -width 70
454ttk::button .myFrame.myVcBrowseBtn -text "Browse" -command wokdep:gui:BrowseVcVars
26cfd29c 455ttk::label .myFrame.myHxxChecks.myRelDebInfoLbl -text "Release with Debug info"
456checkbutton .myFrame.myHxxChecks.myRelDebInfoCheck -offvalue "false" -onvalue "true" -variable HAVE_RelWithDebInfo
910970ab 457
458#
5951a088 459ttk::combobox .myFrame.myHxxChecks.myScutsCombo -values { {ShortCut} {Copy} {HardLink} } -textvariable SHORTCUT_HEADERS -state readonly -width 12
460ttk::label .myFrame.myHxxChecks.myScutsLbl -text "Strategy for filling headers folder inc:"
910970ab 461
462#
72c37458 463ttk::label .myFrame.mySrchLbl -text "3rd-parties search path:" -padding {5 5 80 5}
f4b0c772 464entry .myFrame.mySrchEntry -textvariable PRODUCTS_PATH_INPUT -width 80
910970ab 465ttk::button .myFrame.mySrchBrowseBtn -text "Browse" -command wokdep:gui:BrowsePartiesRoot
5c9493b3 466checkbutton .myFrame.myChecks.myFreeTypeCheck -offvalue "false" -onvalue "true" -variable HAVE_FREETYPE -command wokdep:gui:UpdateList
467ttk::label .myFrame.myChecks.myFreeTypeLbl -text "Use FreeType"
ea991a6e 468checkbutton .myFrame.myChecks.myFImageCheck -offvalue "false" -onvalue "true" -variable HAVE_FREEIMAGE -command wokdep:gui:UpdateList
469ttk::label .myFrame.myChecks.myFImageLbl -text "Use FreeImage"
ea991a6e 470checkbutton .myFrame.myChecks.myTbbCheck -offvalue "false" -onvalue "true" -variable HAVE_TBB -command wokdep:gui:UpdateList
471ttk::label .myFrame.myChecks.myTbbLbl -text "Use Intel TBB"
b40cdc2b 472checkbutton .myFrame.myChecks.myOpenVrCheck -offvalue "false" -onvalue "true" -variable HAVE_OPENVR -command wokdep:gui:UpdateList
473ttk::label .myFrame.myChecks.myOpenVrLbl -text "Use OpenVR"
1ce0716b 474if { "$::tcl_platform(os)" != "Darwin" } {
475 checkbutton .myFrame.myChecks.myGlesCheck -offvalue "false" -onvalue "true" -variable HAVE_GLES2 -command wokdep:gui:UpdateList
476 ttk::label .myFrame.myChecks.myGlesLbl -text "Use OpenGL ES"
477}
a9b51f49 478if { "$::tcl_platform(platform)" == "windows" } {
479 checkbutton .myFrame.myChecks.myD3dCheck -offvalue "false" -onvalue "true" -variable HAVE_D3D -command wokdep:gui:UpdateList
480 ttk::label .myFrame.myChecks.myD3dLbl -text "Use Direct3D"
481}
e22105a9 482checkbutton .myFrame.myChecks.myFFmpegCheck -offvalue "false" -onvalue "true" -variable HAVE_FFMPEG -command wokdep:gui:UpdateList
483ttk::label .myFrame.myChecks.myFFmpegLbl -text "Use FFmpeg"
944d808c 484#checkbutton .myFrame.myChecks.myOpenClCheck -offvalue "false" -onvalue "true" -variable HAVE_OPENCL -command wokdep:gui:UpdateList
485#ttk::label .myFrame.myChecks.myOpenClLbl -text "Use OpenCL"
27bd52b5 486checkbutton .myFrame.myChecks.myRapidJsonCheck -offvalue "false" -onvalue "true" -variable HAVE_RAPIDJSON -command wokdep:gui:UpdateList
487ttk::label .myFrame.myChecks.myRapidJsonLbl -text "Use RapidJSON"
d9d75a84 488checkbutton .myFrame.myChecks.myDracoCheck -offvalue "false" -onvalue "true" -variable HAVE_DRACO -command wokdep:gui:UpdateList
489ttk::label .myFrame.myChecks.myDracoLbl -text "Use Draco"
27bd52b5 490
b69e576a 491checkbutton .myFrame.myChecks.myXLibCheck -offvalue "false" -onvalue "true" -variable HAVE_XLIB
492ttk::label .myFrame.myChecks.myXLibLbl -text "Use X11 for windows drawing"
ea991a6e 493ttk::label .myFrame.myChecks.myVtkLbl -text "Use VTK"
494checkbutton .myFrame.myChecks.myVtkCheck -offvalue "false" -onvalue "true" -variable HAVE_VTK -command wokdep:gui:UpdateList
e22105a9 495
496checkbutton .myFrame.myChecks.myZLibCheck -offvalue "false" -onvalue "true" -variable HAVE_ZLIB -command wokdep:gui:UpdateList
497ttk::label .myFrame.myChecks.myZLibLbl -text "Use zlib"
498checkbutton .myFrame.myChecks.myLzmaCheck -offvalue "false" -onvalue "true" -variable HAVE_LIBLZMA -command wokdep:gui:UpdateList
499ttk::label .myFrame.myChecks.myLzmaLbl -text "Use liblzma"
27bd52b5 500checkbutton .myFrame.myChecks.myE57Check -offvalue "false" -onvalue "true" -variable HAVE_E57 -command wokdep:gui:UpdateList
501ttk::label .myFrame.myChecks.myE57Lbl -text "Use E57"
0a419c51 502
f6d8ca74 503checkbutton .myFrame.myChecks.myQtCheck -offvalue "false" -onvalue "true" -variable CHECK_QT -command wokdep:gui:UpdateList
504ttk::label .myFrame.myChecks.myQtLbl -text "Search Qt"
ea991a6e 505checkbutton .myFrame.myChecks.myJDKCheck -offvalue "false" -onvalue "true" -variable CHECK_JDK -command wokdep:gui:UpdateList
506ttk::label .myFrame.myChecks.myJDKLbl -text "Search JDK"
910970ab 507
f6d8ca74 508if { "$::tcl_platform(platform)" == "windows" } {
509 checkbutton .myFrame.myChecks.myInspectorBuild -offvalue "false" -onvalue "true" -variable BUILD_Inspector -command wokdep:gui:UpdateList
510 ttk::label .myFrame.myChecks.myInspectorLbl -text "Build Inspector"
511}
512
910970ab 513# Additional headers search paths
72c37458 514ttk::label .myFrame.myIncLbl -text "Additional headers search paths:" -padding {5 5 80 5}
910970ab 515scrollbar .myFrame.myIncScrl -command ".myFrame.myIncList yview"
516listbox .myFrame.myIncList -listvariable CSF_OPT_INC -width 80 -height 5 -yscrollcommand ".myFrame.myIncScrl set"
517ttk::button .myFrame.myIncAdd -text "Add" -command wokdep:gui:AddIncPath
518ttk::button .myFrame.myIncEdit -text "Edit"
519ttk::button .myFrame.myIncRemove -text "Remove" -command wokdep:gui:RemoveIncPath
520ttk::button .myFrame.myIncClear -text "Reset" -command wokdep:gui:ResetIncPath
521ttk::label .myFrame.myIncErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
522
523# Additional libraries (32-bit) search paths
ea99d048 524ttk::label .myFrame.myLib32_Lbl -text "Additional libraries (32-bit) search paths:" -padding {5 5 80 5}
525scrollbar .myFrame.myLib32_Scrl -command ".myFrame.myLib32_List yview"
526listbox .myFrame.myLib32_List -listvariable CSF_OPT_LIB32 -width 80 -height 5 -yscrollcommand ".myFrame.myLib32_Scrl set"
527ttk::button .myFrame.myLib32_Add -text "Add" -command wokdep:gui:AddLibPath
528ttk::button .myFrame.myLib32_Edit -text "Edit"
529ttk::button .myFrame.myLib32_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
530ttk::button .myFrame.myLib32_Clear -text "Reset" -command wokdep:gui:ResetLibPath
531ttk::label .myFrame.myLib32_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
532
533# Additional debug libraries (32-bit) search paths
534ttk::label .myFrame.myLib32D_Lbl -text "Additional debug libraries (32-bit) search paths:" -padding {5 5 80 5}
535scrollbar .myFrame.myLib32D_Scrl -command ".myFrame.myLib32D_List yview"
536listbox .myFrame.myLib32D_List -listvariable CSF_OPT_LIB32D -width 80 -height 5 -yscrollcommand ".myFrame.myLib32D_Scrl set"
537ttk::button .myFrame.myLib32D_Add -text "Add" -command wokdep:gui:AddLibPath
538ttk::button .myFrame.myLib32D_Edit -text "Edit"
539ttk::button .myFrame.myLib32D_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
540ttk::button .myFrame.myLib32D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
541ttk::label .myFrame.myLib32D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
910970ab 542
543# Additional libraries (64-bit) search paths
ea99d048 544ttk::label .myFrame.myLib64_Lbl -text "Additional libraries (64-bit) search paths:" -padding {5 5 80 5}
545scrollbar .myFrame.myLib64_Scrl -command ".myFrame.myLib64_List yview"
546listbox .myFrame.myLib64_List -listvariable CSF_OPT_LIB64 -width 80 -height 5 -yscrollcommand ".myFrame.myLib64_Scrl set"
547ttk::button .myFrame.myLib64_Add -text "Add" -command wokdep:gui:AddLibPath
548ttk::button .myFrame.myLib64_Edit -text "Edit"
549ttk::button .myFrame.myLib64_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
550ttk::button .myFrame.myLib64_Clear -text "Reset" -command wokdep:gui:ResetLibPath
551ttk::label .myFrame.myLib64_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
552
553# Additional debug libraries (64-bit) search paths
554ttk::label .myFrame.myLib64D_Lbl -text "Additional debug libraries (64-bit) search paths:" -padding {5 5 80 5}
555scrollbar .myFrame.myLib64D_Scrl -command ".myFrame.myLib64D_List yview"
556listbox .myFrame.myLib64D_List -listvariable CSF_OPT_LIB64D -width 80 -height 5 -yscrollcommand ".myFrame.myLib64D_Scrl set"
557ttk::button .myFrame.myLib64D_Add -text "Add" -command wokdep:gui:AddLibPath
558ttk::button .myFrame.myLib64D_Edit -text "Edit"
559ttk::button .myFrame.myLib64D_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
560ttk::button .myFrame.myLib64D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
561ttk::label .myFrame.myLib64D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
910970ab 562
563# Additional executables (32-bit) search paths
ea99d048 564ttk::label .myFrame.myBin32_Lbl -text "Additional executables (32-bit) search paths:" -padding {5 5 80 5}
565scrollbar .myFrame.myBin32_Scrl -command ".myFrame.myBin32_List yview"
566listbox .myFrame.myBin32_List -listvariable CSF_OPT_BIN32 -width 80 -height 5 -yscrollcommand ".myFrame.myBin32_Scrl set"
567ttk::button .myFrame.myBin32_Add -text "Add" -command wokdep:gui:AddBinPath
568ttk::button .myFrame.myBin32_Edit -text "Edit"
569ttk::button .myFrame.myBin32_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
570ttk::button .myFrame.myBin32_Clear -text "Reset" -command wokdep:gui:ResetLibPath
571ttk::label .myFrame.myBin32_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
572
573# Additional debug executables (32-bit) search paths
574ttk::label .myFrame.myBin32D_Lbl -text "Additional debug executables (32-bit) search paths:" -padding {5 5 80 5}
575scrollbar .myFrame.myBin32D_Scrl -command ".myFrame.myBin32D_List yview"
576listbox .myFrame.myBin32D_List -listvariable CSF_OPT_BIN32D -width 80 -height 5 -yscrollcommand ".myFrame.myBin32D_Scrl set"
577ttk::button .myFrame.myBin32D_Add -text "Add" -command wokdep:gui:AddBinPath
578ttk::button .myFrame.myBin32D_Edit -text "Edit"
579ttk::button .myFrame.myBin32D_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
580ttk::button .myFrame.myBin32D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
581ttk::label .myFrame.myBin32D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
910970ab 582
583# Additional executables (64-bit) search paths
ea99d048 584ttk::label .myFrame.myBin64_Lbl -text "Additional executables (64-bit) search paths:" -padding {5 5 80 5}
585scrollbar .myFrame.myBin64_Scrl -command ".myFrame.myBin64_List yview"
586listbox .myFrame.myBin64_List -listvariable CSF_OPT_BIN64 -width 80 -height 5 -yscrollcommand ".myFrame.myBin64_Scrl set"
587ttk::button .myFrame.myBin64_Add -text "Add" -command wokdep:gui:AddBinPath
588ttk::button .myFrame.myBin64_Edit -text "Edit"
589ttk::button .myFrame.myBin64_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
590ttk::button .myFrame.myBin64_Clear -text "Reset" -command wokdep:gui:ResetLibPath
591ttk::label .myFrame.myBin64_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
592
593# Additional debug executables (64-bit) search paths
594ttk::label .myFrame.myBin64D_Lbl -text "Additional debug executables (64-bit) search paths:" -padding {5 5 80 5}
595scrollbar .myFrame.myBin64D_Scrl -command ".myFrame.myBin64D_List yview"
596listbox .myFrame.myBin64D_List -listvariable CSF_OPT_BIN64D -width 80 -height 5 -yscrollcommand ".myFrame.myBin64D_Scrl set"
597ttk::button .myFrame.myBin64D_Add -text "Add" -command wokdep:gui:AddBinPath
598ttk::button .myFrame.myBin64D_Edit -text "Edit"
599ttk::button .myFrame.myBin64D_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
600ttk::button .myFrame.myBin64D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
601ttk::label .myFrame.myBin64D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
910970ab 602
603# Bottom
604ttk::button .myFrame.mySave -text "Save" -command wokdep:SaveCustom
605ttk::button .myFrame.myClose -text "Close" -command wokdep:gui:Close
606
607# Create grid
608# Header
aafe169f 609grid .myFrame.myPrjFrame -row $aRowIter -column 0 -columnspan 10 -sticky w
610grid .myFrame.myPrjFrame.myPrjLbl -row 0 -column 0
611grid .myFrame.myPrjFrame.myPrjCombo -row 0 -column 1
910970ab 612if { "$tcl_platform(platform)" == "windows" } {
ea99d048 613 incr aRowIter
ea991a6e 614 grid .myFrame.myVsFrame -row $aRowIter -column 0 -columnspan 10 -sticky w
615 grid .myFrame.myVsFrame.myVsLbl -row 0 -column 0
616 grid .myFrame.myVsFrame.myVsCombo -row 0 -column 1 -padx 5
617 grid .myFrame.myVsFrame.myArchCombo -row 0 -column 2
ea99d048 618 grid .myFrame.myVsFrame.myConfigCombo -row 0 -column 3
910970ab 619 incr aRowIter
620 grid .myFrame.myVcEntry -row $aRowIter -column 0
621 grid .myFrame.myVcVarsEntry -row $aRowIter -column 1 -columnspan 4 -sticky w
622 grid .myFrame.myVcBrowseBtn -row $aRowIter -column 6
623 incr aRowIter
ea99d048 624} else {
625 grid .myFrame.myVsFrame -row $aRowIter -column 4 -sticky w
626 grid .myFrame.myVsFrame.myConfigCombo -row 0 -column 0
627 incr aRowIter
910970ab 628}
629
630#
ea991a6e 631grid .myFrame.myHxxChecks -row $aRowIter -column 0 -columnspan 10 -sticky w
5951a088 632grid .myFrame.myHxxChecks.myScutsLbl -row 0 -column 0
633grid .myFrame.myHxxChecks.myScutsCombo -row 0 -column 1
26cfd29c 634if { "$tcl_platform(platform)" == "windows" } {
635 grid .myFrame.myHxxChecks.myRelDebInfoCheck -row 0 -column 2
636 grid .myFrame.myHxxChecks.myRelDebInfoLbl -row 0 -column 3
637}
910970ab 638incr aRowIter
639#
640grid .myFrame.mySrchLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
641incr aRowIter
642grid .myFrame.mySrchEntry -row $aRowIter -column 0 -columnspan 5
643grid .myFrame.mySrchBrowseBtn -row $aRowIter -column 6
644incr aRowIter
ea991a6e 645
646grid .myFrame.myChecks -row $aRowIter -column 0 -columnspan 10 -sticky w
910970ab 647incr aRowIter
5c9493b3 648grid .myFrame.myChecks.myFreeTypeCheck -row $aCheckRowIter -column 0 -sticky e
649grid .myFrame.myChecks.myFreeTypeLbl -row $aCheckRowIter -column 1 -sticky w
650grid .myFrame.myChecks.myRapidJsonCheck -row $aCheckRowIter -column 2 -sticky e
651grid .myFrame.myChecks.myRapidJsonLbl -row $aCheckRowIter -column 3 -sticky w
810b672f 652if { "$::tcl_platform(os)" != "Darwin" } {
653 grid .myFrame.myChecks.myGlesCheck -row $aCheckRowIter -column 4 -sticky e
654 grid .myFrame.myChecks.myGlesLbl -row $aCheckRowIter -column 5 -sticky w
655}
ea991a6e 656#grid .myFrame.myChecks.myOpenClCheck -row $aCheckRowIter -column 6 -sticky e
657#grid .myFrame.myChecks.myOpenClLbl -row $aCheckRowIter -column 7 -sticky w
e22105a9 658grid .myFrame.myChecks.myZLibCheck -row $aCheckRowIter -column 6 -sticky e
659grid .myFrame.myChecks.myZLibLbl -row $aCheckRowIter -column 7 -sticky w
660
f6d8ca74 661grid .myFrame.myChecks.myQtCheck -row $aCheckRowIter -column 12 -sticky e
662grid .myFrame.myChecks.myQtLbl -row $aCheckRowIter -column 13 -sticky w
e22105a9 663
ea991a6e 664incr aCheckRowIter
5c9493b3 665grid .myFrame.myChecks.myFImageCheck -row $aCheckRowIter -column 0 -sticky e
666grid .myFrame.myChecks.myFImageLbl -row $aCheckRowIter -column 1 -sticky w
d9d75a84 667grid .myFrame.myChecks.myDracoCheck -row $aCheckRowIter -column 2 -sticky e
668grid .myFrame.myChecks.myDracoLbl -row $aCheckRowIter -column 3 -sticky w
669
1ce0716b 670if { "$::tcl_platform(platform)" == "windows" } {
e22105a9 671 grid .myFrame.myChecks.myD3dCheck -row $aCheckRowIter -column 4 -sticky e
672 grid .myFrame.myChecks.myD3dLbl -row $aCheckRowIter -column 5 -sticky w
b69e576a 673} else {
674 grid .myFrame.myChecks.myXLibCheck -row $aCheckRowIter -column 4 -sticky e
675 grid .myFrame.myChecks.myXLibLbl -row $aCheckRowIter -column 5 -sticky w
1ce0716b 676}
e22105a9 677grid .myFrame.myChecks.myLzmaCheck -row $aCheckRowIter -column 6 -sticky e
678grid .myFrame.myChecks.myLzmaLbl -row $aCheckRowIter -column 7 -sticky w
0a419c51 679grid .myFrame.myChecks.myJDKCheck -row $aCheckRowIter -column 12 -sticky e
680grid .myFrame.myChecks.myJDKLbl -row $aCheckRowIter -column 13 -sticky w
e22105a9 681
ea991a6e 682incr aCheckRowIter
5c9493b3 683grid .myFrame.myChecks.myFFmpegCheck -row $aCheckRowIter -column 0 -sticky e
684grid .myFrame.myChecks.myFFmpegLbl -row $aCheckRowIter -column 1 -sticky w
685grid .myFrame.myChecks.myVtkCheck -row $aCheckRowIter -column 2 -sticky e
686grid .myFrame.myChecks.myVtkLbl -row $aCheckRowIter -column 3 -sticky w
b40cdc2b 687grid .myFrame.myChecks.myOpenVrCheck -row $aCheckRowIter -column 4 -sticky e
688grid .myFrame.myChecks.myOpenVrLbl -row $aCheckRowIter -column 5 -sticky w
27bd52b5 689grid .myFrame.myChecks.myE57Check -row $aCheckRowIter -column 6 -sticky e
690grid .myFrame.myChecks.myE57Lbl -row $aCheckRowIter -column 7 -sticky w
910970ab 691
f6d8ca74 692if { "$::tcl_platform(platform)" == "windows" } {
693 grid .myFrame.myChecks.myInspectorBuild -row $aCheckRowIter -column 12 -sticky e
694 grid .myFrame.myChecks.myInspectorLbl -row $aCheckRowIter -column 13 -sticky w
695}
696
0a419c51 697incr aCheckRowIter
698
d9d75a84 699grid .myFrame.myChecks.myTbbCheck -row $aCheckRowIter -column 12 -sticky e
700grid .myFrame.myChecks.myTbbLbl -row $aCheckRowIter -column 13 -sticky w
701
702incr aCheckRowIter
703
910970ab 704# Additional headers search paths
705grid .myFrame.myIncLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
706incr aRowIter
707grid .myFrame.myIncList -row $aRowIter -column 0 -rowspan 4 -columnspan 5
708grid .myFrame.myIncScrl -row $aRowIter -column 5 -rowspan 4
709grid .myFrame.myIncAdd -row $aRowIter -column 6
710incr aRowIter
711#grid .myFrame.myIncEdit -row $aRowIter -column 6
712incr aRowIter
713grid .myFrame.myIncRemove -row $aRowIter -column 6
714incr aRowIter
715grid .myFrame.myIncClear -row $aRowIter -column 6
716incr aRowIter
717grid .myFrame.myIncErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
718incr aRowIter
719
ea99d048 720# Additional search paths
721wokdep:gui:Show3264Bitness aRowIter
910970ab 722
723# Bottom section
724grid .myFrame.mySave -row $aRowIter -column 4 -columnspan 2
725grid .myFrame.myClose -row $aRowIter -column 6 -columnspan 2
726
727# Bind events
aafe169f 728bind .myFrame.myPrjFrame.myPrjCombo <<ComboboxSelected>> {
729 wokdep:gui:SwitchConfig
730}
ea991a6e 731bind .myFrame.myVsFrame.myVsCombo <<ComboboxSelected>> {
910970ab 732 wokdep:gui:SwitchConfig
733}
ea991a6e 734bind .myFrame.myVsFrame.myArchCombo <<ComboboxSelected>> {
910970ab 735 wokdep:gui:SwitchArch
736}
ea99d048 737bind .myFrame.myVsFrame.myConfigCombo <<ComboboxSelected>> {
738 wokdep:gui:SwitchArch
739}
910970ab 740
741.myFrame.mySrchEntry configure -validate all -validatecommand {
f4b0c772 742 set ::PRODUCTS_PATH [file normalize "$::PRODUCTS_PATH_INPUT"]
910970ab 743 #return [file exists "$::PRODUCTS_PATH"]
744 wokdep:gui:UpdateList
745 return 1
746}
747
748wokdep:gui:UpdateList