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 |
25 | source [file join [file dirname [info script]] genconfdeps.tcl] |
26 | |
f4b0c772 |
27 | # proxy variable for implicit file path normalization |
28 | set PRODUCTS_PATH_INPUT "$::PRODUCTS_PATH" |
29 | |
d1a67b9d |
30 | package require Tk |
910970ab |
31 | |
32 | set aRowIter 0 |
ea991a6e |
33 | set aCheckRowIter 0 |
910970ab |
34 | frame .myFrame -padx 5 -pady 5 |
35 | pack .myFrame -fill both -expand 1 |
aafe169f |
36 | frame .myFrame.myPrjFrame |
ea991a6e |
37 | frame .myFrame.myVsFrame |
38 | frame .myFrame.myHxxChecks |
39 | frame .myFrame.myChecks |
910970ab |
40 | |
aafe169f |
41 | # project file format |
42 | set SYS_PRJFMT_LIST {} |
43 | set SYS_PRJNAME_LIST {} |
44 | if { "$::tcl_platform(platform)" == "windows" } { |
45 | lappend ::SYS_PRJFMT_LIST "vcxproj" |
46 | lappend ::SYS_PRJNAME_LIST "Visual Studio (.vcxproj)" |
47 | } |
48 | if { "$tcl_platform(os)" == "Darwin" } { |
49 | lappend ::SYS_PRJFMT_LIST "xcd" |
50 | lappend ::SYS_PRJNAME_LIST "XCode (.xcd)" |
51 | } |
52 | lappend ::SYS_PRJFMT_LIST "cbp" |
53 | lappend ::SYS_PRJNAME_LIST "Code Blocks (.cbp)" |
54 | lappend ::SYS_PRJFMT_LIST "pro" |
55 | lappend ::SYS_PRJNAME_LIST "Qt Creator (.pro)" |
56 | |
57 | set aPrjIndex [lsearch $::SYS_PRJFMT_LIST $::PRJFMT] |
58 | set ::PRJNAME [lindex $::SYS_PRJNAME_LIST $aPrjIndex] |
ea99d048 |
59 | set ::CONFIG "Release" |
aafe169f |
60 | |
910970ab |
61 | set SYS_VS_LIST {} |
62 | set SYS_VC_LIST {} |
63 | set SYS_VCVARS_LIST {} |
64 | |
c8428cb3 |
65 | # detect installed Visual Studio 2017+ instances by running vswhere.exe |
4e2151f6 |
66 | if { ! [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 |
71 | if { ! [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 |
76 | if { ! [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 |
81 | if { ! [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 |
86 | if { ! [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 | } |
91 | if { ! [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 | } |
96 | if { ! [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 | } |
101 | if { ! [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 |
108 | if { [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 | } |
117 | if { [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 | } |
122 | if { [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 | } |
127 | if { [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 | } |
132 | if { [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 | } |
137 | if { [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 | } |
142 | lappend ::SYS_VS_LIST "Custom" |
143 | lappend ::SYS_VC_LIST "vcX" |
144 | lappend ::SYS_VCVARS_LIST "%VSXXCOMNTOOLS%..\\..\\VC\\vcvarsall.bat" |
145 | |
146 | set aVcVerIndex [lsearch $::SYS_VC_LIST $::VCVER] |
147 | set ::VSVER [lindex $::SYS_VS_LIST $aVcVerIndex] |
148 | if { "$::VCVARS" == "" } { |
149 | set ::VCVARS [lindex $::SYS_VCVARS_LIST $aVcVerIndex] |
150 | } |
151 | |
152 | proc wokdep:gui:Close {} { |
153 | # if changed ask |
154 | exit |
155 | } |
156 | |
ea99d048 |
157 | proc wokdep:gui:configSuffix {} { |
158 | if { "$::CONFIG" == "Debug" } { |
159 | return "D" |
160 | } |
161 | return "" |
162 | } |
163 | |
910970ab |
164 | proc 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 | |
181 | proc 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 |
194 | font create wokdep:gui:EmptyFont -size -1 |
195 | proc 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 |
203 | proc 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 | |
303 | proc wokdep:gui:BrowseVcVars {} { |
304 | set aResult [tk_chooseDirectory -initialdir $::VCVARS -title "Choose a directory"] |
305 | if { "$aResult" != "" } { |
306 | set ::VCVARS $aResult |
307 | } |
308 | } |
309 | |
310 | proc 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 | |
318 | proc 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 |
326 | proc 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 |
335 | proc 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 | |
344 | proc 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 |
352 | proc 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 |
361 | proc 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 | |
370 | proc wokdep:gui:ResetIncPath {} { |
371 | set ::CSF_OPT_INC {} |
372 | wokdep:gui:UpdateList |
373 | } |
374 | |
ea99d048 |
375 | proc 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 |
383 | proc 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 |
446 | ttk::label .myFrame.myPrjFrame.myPrjLbl -text "Project format:" -padding {5 5 20 5} |
447 | ttk::combobox .myFrame.myPrjFrame.myPrjCombo -values $SYS_PRJNAME_LIST -state readonly -textvariable PRJNAME -width 40 |
d6cda17a |
448 | ttk::label .myFrame.myVsFrame.myVsLbl -text "Visual Studio configuration:" -padding {5 5 20 5} |
449 | ttk::combobox .myFrame.myVsFrame.myVsCombo -values $SYS_VS_LIST -state readonly -textvariable VSVER -width 40 |
ea991a6e |
450 | ttk::combobox .myFrame.myVsFrame.myArchCombo -values { {32} {64} } -textvariable ARCH -state readonly -width 6 |
ea99d048 |
451 | ttk::combobox .myFrame.myVsFrame.myConfigCombo -values { {Release} {Debug} } -textvariable CONFIG -state readonly -width 6 |
d6cda17a |
452 | entry .myFrame.myVcEntry -textvariable VCVER -width 10 |
910970ab |
453 | entry .myFrame.myVcVarsEntry -textvariable VCVARS -width 70 |
454 | ttk::button .myFrame.myVcBrowseBtn -text "Browse" -command wokdep:gui:BrowseVcVars |
26cfd29c |
455 | ttk::label .myFrame.myHxxChecks.myRelDebInfoLbl -text "Release with Debug info" |
456 | checkbutton .myFrame.myHxxChecks.myRelDebInfoCheck -offvalue "false" -onvalue "true" -variable HAVE_RelWithDebInfo |
910970ab |
457 | |
458 | # |
5951a088 |
459 | ttk::combobox .myFrame.myHxxChecks.myScutsCombo -values { {ShortCut} {Copy} {HardLink} } -textvariable SHORTCUT_HEADERS -state readonly -width 12 |
460 | ttk::label .myFrame.myHxxChecks.myScutsLbl -text "Strategy for filling headers folder inc:" |
910970ab |
461 | |
462 | # |
72c37458 |
463 | ttk::label .myFrame.mySrchLbl -text "3rd-parties search path:" -padding {5 5 80 5} |
f4b0c772 |
464 | entry .myFrame.mySrchEntry -textvariable PRODUCTS_PATH_INPUT -width 80 |
910970ab |
465 | ttk::button .myFrame.mySrchBrowseBtn -text "Browse" -command wokdep:gui:BrowsePartiesRoot |
5c9493b3 |
466 | checkbutton .myFrame.myChecks.myFreeTypeCheck -offvalue "false" -onvalue "true" -variable HAVE_FREETYPE -command wokdep:gui:UpdateList |
467 | ttk::label .myFrame.myChecks.myFreeTypeLbl -text "Use FreeType" |
ea991a6e |
468 | checkbutton .myFrame.myChecks.myFImageCheck -offvalue "false" -onvalue "true" -variable HAVE_FREEIMAGE -command wokdep:gui:UpdateList |
469 | ttk::label .myFrame.myChecks.myFImageLbl -text "Use FreeImage" |
ea991a6e |
470 | checkbutton .myFrame.myChecks.myTbbCheck -offvalue "false" -onvalue "true" -variable HAVE_TBB -command wokdep:gui:UpdateList |
471 | ttk::label .myFrame.myChecks.myTbbLbl -text "Use Intel TBB" |
b40cdc2b |
472 | checkbutton .myFrame.myChecks.myOpenVrCheck -offvalue "false" -onvalue "true" -variable HAVE_OPENVR -command wokdep:gui:UpdateList |
473 | ttk::label .myFrame.myChecks.myOpenVrLbl -text "Use OpenVR" |
1ce0716b |
474 | if { "$::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 |
478 | if { "$::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 |
482 | checkbutton .myFrame.myChecks.myFFmpegCheck -offvalue "false" -onvalue "true" -variable HAVE_FFMPEG -command wokdep:gui:UpdateList |
483 | ttk::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 |
486 | checkbutton .myFrame.myChecks.myRapidJsonCheck -offvalue "false" -onvalue "true" -variable HAVE_RAPIDJSON -command wokdep:gui:UpdateList |
487 | ttk::label .myFrame.myChecks.myRapidJsonLbl -text "Use RapidJSON" |
d9d75a84 |
488 | checkbutton .myFrame.myChecks.myDracoCheck -offvalue "false" -onvalue "true" -variable HAVE_DRACO -command wokdep:gui:UpdateList |
489 | ttk::label .myFrame.myChecks.myDracoLbl -text "Use Draco" |
27bd52b5 |
490 | |
b69e576a |
491 | checkbutton .myFrame.myChecks.myXLibCheck -offvalue "false" -onvalue "true" -variable HAVE_XLIB |
492 | ttk::label .myFrame.myChecks.myXLibLbl -text "Use X11 for windows drawing" |
ea991a6e |
493 | ttk::label .myFrame.myChecks.myVtkLbl -text "Use VTK" |
494 | checkbutton .myFrame.myChecks.myVtkCheck -offvalue "false" -onvalue "true" -variable HAVE_VTK -command wokdep:gui:UpdateList |
e22105a9 |
495 | |
496 | checkbutton .myFrame.myChecks.myZLibCheck -offvalue "false" -onvalue "true" -variable HAVE_ZLIB -command wokdep:gui:UpdateList |
497 | ttk::label .myFrame.myChecks.myZLibLbl -text "Use zlib" |
498 | checkbutton .myFrame.myChecks.myLzmaCheck -offvalue "false" -onvalue "true" -variable HAVE_LIBLZMA -command wokdep:gui:UpdateList |
499 | ttk::label .myFrame.myChecks.myLzmaLbl -text "Use liblzma" |
27bd52b5 |
500 | checkbutton .myFrame.myChecks.myE57Check -offvalue "false" -onvalue "true" -variable HAVE_E57 -command wokdep:gui:UpdateList |
501 | ttk::label .myFrame.myChecks.myE57Lbl -text "Use E57" |
0a419c51 |
502 | |
f6d8ca74 |
503 | checkbutton .myFrame.myChecks.myQtCheck -offvalue "false" -onvalue "true" -variable CHECK_QT -command wokdep:gui:UpdateList |
504 | ttk::label .myFrame.myChecks.myQtLbl -text "Search Qt" |
ea991a6e |
505 | checkbutton .myFrame.myChecks.myJDKCheck -offvalue "false" -onvalue "true" -variable CHECK_JDK -command wokdep:gui:UpdateList |
506 | ttk::label .myFrame.myChecks.myJDKLbl -text "Search JDK" |
910970ab |
507 | |
f6d8ca74 |
508 | if { "$::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 |
514 | ttk::label .myFrame.myIncLbl -text "Additional headers search paths:" -padding {5 5 80 5} |
910970ab |
515 | scrollbar .myFrame.myIncScrl -command ".myFrame.myIncList yview" |
516 | listbox .myFrame.myIncList -listvariable CSF_OPT_INC -width 80 -height 5 -yscrollcommand ".myFrame.myIncScrl set" |
517 | ttk::button .myFrame.myIncAdd -text "Add" -command wokdep:gui:AddIncPath |
518 | ttk::button .myFrame.myIncEdit -text "Edit" |
519 | ttk::button .myFrame.myIncRemove -text "Remove" -command wokdep:gui:RemoveIncPath |
520 | ttk::button .myFrame.myIncClear -text "Reset" -command wokdep:gui:ResetIncPath |
521 | ttk::label .myFrame.myIncErrLbl -text "Error: " -foreground red -padding {5 5 5 5} |
522 | |
523 | # Additional libraries (32-bit) search paths |
ea99d048 |
524 | ttk::label .myFrame.myLib32_Lbl -text "Additional libraries (32-bit) search paths:" -padding {5 5 80 5} |
525 | scrollbar .myFrame.myLib32_Scrl -command ".myFrame.myLib32_List yview" |
526 | listbox .myFrame.myLib32_List -listvariable CSF_OPT_LIB32 -width 80 -height 5 -yscrollcommand ".myFrame.myLib32_Scrl set" |
527 | ttk::button .myFrame.myLib32_Add -text "Add" -command wokdep:gui:AddLibPath |
528 | ttk::button .myFrame.myLib32_Edit -text "Edit" |
529 | ttk::button .myFrame.myLib32_Remove -text "Remove" -command wokdep:gui:RemoveLibPath |
530 | ttk::button .myFrame.myLib32_Clear -text "Reset" -command wokdep:gui:ResetLibPath |
531 | ttk::label .myFrame.myLib32_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5} |
532 | |
533 | # Additional debug libraries (32-bit) search paths |
534 | ttk::label .myFrame.myLib32D_Lbl -text "Additional debug libraries (32-bit) search paths:" -padding {5 5 80 5} |
535 | scrollbar .myFrame.myLib32D_Scrl -command ".myFrame.myLib32D_List yview" |
536 | listbox .myFrame.myLib32D_List -listvariable CSF_OPT_LIB32D -width 80 -height 5 -yscrollcommand ".myFrame.myLib32D_Scrl set" |
537 | ttk::button .myFrame.myLib32D_Add -text "Add" -command wokdep:gui:AddLibPath |
538 | ttk::button .myFrame.myLib32D_Edit -text "Edit" |
539 | ttk::button .myFrame.myLib32D_Remove -text "Remove" -command wokdep:gui:RemoveLibPath |
540 | ttk::button .myFrame.myLib32D_Clear -text "Reset" -command wokdep:gui:ResetLibPath |
541 | ttk::label .myFrame.myLib32D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5} |
910970ab |
542 | |
543 | # Additional libraries (64-bit) search paths |
ea99d048 |
544 | ttk::label .myFrame.myLib64_Lbl -text "Additional libraries (64-bit) search paths:" -padding {5 5 80 5} |
545 | scrollbar .myFrame.myLib64_Scrl -command ".myFrame.myLib64_List yview" |
546 | listbox .myFrame.myLib64_List -listvariable CSF_OPT_LIB64 -width 80 -height 5 -yscrollcommand ".myFrame.myLib64_Scrl set" |
547 | ttk::button .myFrame.myLib64_Add -text "Add" -command wokdep:gui:AddLibPath |
548 | ttk::button .myFrame.myLib64_Edit -text "Edit" |
549 | ttk::button .myFrame.myLib64_Remove -text "Remove" -command wokdep:gui:RemoveLibPath |
550 | ttk::button .myFrame.myLib64_Clear -text "Reset" -command wokdep:gui:ResetLibPath |
551 | ttk::label .myFrame.myLib64_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5} |
552 | |
553 | # Additional debug libraries (64-bit) search paths |
554 | ttk::label .myFrame.myLib64D_Lbl -text "Additional debug libraries (64-bit) search paths:" -padding {5 5 80 5} |
555 | scrollbar .myFrame.myLib64D_Scrl -command ".myFrame.myLib64D_List yview" |
556 | listbox .myFrame.myLib64D_List -listvariable CSF_OPT_LIB64D -width 80 -height 5 -yscrollcommand ".myFrame.myLib64D_Scrl set" |
557 | ttk::button .myFrame.myLib64D_Add -text "Add" -command wokdep:gui:AddLibPath |
558 | ttk::button .myFrame.myLib64D_Edit -text "Edit" |
559 | ttk::button .myFrame.myLib64D_Remove -text "Remove" -command wokdep:gui:RemoveLibPath |
560 | ttk::button .myFrame.myLib64D_Clear -text "Reset" -command wokdep:gui:ResetLibPath |
561 | ttk::label .myFrame.myLib64D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5} |
910970ab |
562 | |
563 | # Additional executables (32-bit) search paths |
ea99d048 |
564 | ttk::label .myFrame.myBin32_Lbl -text "Additional executables (32-bit) search paths:" -padding {5 5 80 5} |
565 | scrollbar .myFrame.myBin32_Scrl -command ".myFrame.myBin32_List yview" |
566 | listbox .myFrame.myBin32_List -listvariable CSF_OPT_BIN32 -width 80 -height 5 -yscrollcommand ".myFrame.myBin32_Scrl set" |
567 | ttk::button .myFrame.myBin32_Add -text "Add" -command wokdep:gui:AddBinPath |
568 | ttk::button .myFrame.myBin32_Edit -text "Edit" |
569 | ttk::button .myFrame.myBin32_Remove -text "Remove" -command wokdep:gui:RemoveBinPath |
570 | ttk::button .myFrame.myBin32_Clear -text "Reset" -command wokdep:gui:ResetLibPath |
571 | ttk::label .myFrame.myBin32_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5} |
572 | |
573 | # Additional debug executables (32-bit) search paths |
574 | ttk::label .myFrame.myBin32D_Lbl -text "Additional debug executables (32-bit) search paths:" -padding {5 5 80 5} |
575 | scrollbar .myFrame.myBin32D_Scrl -command ".myFrame.myBin32D_List yview" |
576 | listbox .myFrame.myBin32D_List -listvariable CSF_OPT_BIN32D -width 80 -height 5 -yscrollcommand ".myFrame.myBin32D_Scrl set" |
577 | ttk::button .myFrame.myBin32D_Add -text "Add" -command wokdep:gui:AddBinPath |
578 | ttk::button .myFrame.myBin32D_Edit -text "Edit" |
579 | ttk::button .myFrame.myBin32D_Remove -text "Remove" -command wokdep:gui:RemoveBinPath |
580 | ttk::button .myFrame.myBin32D_Clear -text "Reset" -command wokdep:gui:ResetLibPath |
581 | ttk::label .myFrame.myBin32D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5} |
910970ab |
582 | |
583 | # Additional executables (64-bit) search paths |
ea99d048 |
584 | ttk::label .myFrame.myBin64_Lbl -text "Additional executables (64-bit) search paths:" -padding {5 5 80 5} |
585 | scrollbar .myFrame.myBin64_Scrl -command ".myFrame.myBin64_List yview" |
586 | listbox .myFrame.myBin64_List -listvariable CSF_OPT_BIN64 -width 80 -height 5 -yscrollcommand ".myFrame.myBin64_Scrl set" |
587 | ttk::button .myFrame.myBin64_Add -text "Add" -command wokdep:gui:AddBinPath |
588 | ttk::button .myFrame.myBin64_Edit -text "Edit" |
589 | ttk::button .myFrame.myBin64_Remove -text "Remove" -command wokdep:gui:RemoveBinPath |
590 | ttk::button .myFrame.myBin64_Clear -text "Reset" -command wokdep:gui:ResetLibPath |
591 | ttk::label .myFrame.myBin64_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5} |
592 | |
593 | # Additional debug executables (64-bit) search paths |
594 | ttk::label .myFrame.myBin64D_Lbl -text "Additional debug executables (64-bit) search paths:" -padding {5 5 80 5} |
595 | scrollbar .myFrame.myBin64D_Scrl -command ".myFrame.myBin64D_List yview" |
596 | listbox .myFrame.myBin64D_List -listvariable CSF_OPT_BIN64D -width 80 -height 5 -yscrollcommand ".myFrame.myBin64D_Scrl set" |
597 | ttk::button .myFrame.myBin64D_Add -text "Add" -command wokdep:gui:AddBinPath |
598 | ttk::button .myFrame.myBin64D_Edit -text "Edit" |
599 | ttk::button .myFrame.myBin64D_Remove -text "Remove" -command wokdep:gui:RemoveBinPath |
600 | ttk::button .myFrame.myBin64D_Clear -text "Reset" -command wokdep:gui:ResetLibPath |
601 | ttk::label .myFrame.myBin64D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5} |
910970ab |
602 | |
603 | # Bottom |
604 | ttk::button .myFrame.mySave -text "Save" -command wokdep:SaveCustom |
605 | ttk::button .myFrame.myClose -text "Close" -command wokdep:gui:Close |
606 | |
607 | # Create grid |
608 | # Header |
aafe169f |
609 | grid .myFrame.myPrjFrame -row $aRowIter -column 0 -columnspan 10 -sticky w |
610 | grid .myFrame.myPrjFrame.myPrjLbl -row 0 -column 0 |
611 | grid .myFrame.myPrjFrame.myPrjCombo -row 0 -column 1 |
910970ab |
612 | if { "$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 |
631 | grid .myFrame.myHxxChecks -row $aRowIter -column 0 -columnspan 10 -sticky w |
5951a088 |
632 | grid .myFrame.myHxxChecks.myScutsLbl -row 0 -column 0 |
633 | grid .myFrame.myHxxChecks.myScutsCombo -row 0 -column 1 |
26cfd29c |
634 | if { "$tcl_platform(platform)" == "windows" } { |
635 | grid .myFrame.myHxxChecks.myRelDebInfoCheck -row 0 -column 2 |
636 | grid .myFrame.myHxxChecks.myRelDebInfoLbl -row 0 -column 3 |
637 | } |
910970ab |
638 | incr aRowIter |
639 | # |
640 | grid .myFrame.mySrchLbl -row $aRowIter -column 0 -columnspan 10 -sticky w |
641 | incr aRowIter |
642 | grid .myFrame.mySrchEntry -row $aRowIter -column 0 -columnspan 5 |
643 | grid .myFrame.mySrchBrowseBtn -row $aRowIter -column 6 |
644 | incr aRowIter |
ea991a6e |
645 | |
646 | grid .myFrame.myChecks -row $aRowIter -column 0 -columnspan 10 -sticky w |
910970ab |
647 | incr aRowIter |
5c9493b3 |
648 | grid .myFrame.myChecks.myFreeTypeCheck -row $aCheckRowIter -column 0 -sticky e |
649 | grid .myFrame.myChecks.myFreeTypeLbl -row $aCheckRowIter -column 1 -sticky w |
650 | grid .myFrame.myChecks.myRapidJsonCheck -row $aCheckRowIter -column 2 -sticky e |
651 | grid .myFrame.myChecks.myRapidJsonLbl -row $aCheckRowIter -column 3 -sticky w |
810b672f |
652 | if { "$::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 |
658 | grid .myFrame.myChecks.myZLibCheck -row $aCheckRowIter -column 6 -sticky e |
659 | grid .myFrame.myChecks.myZLibLbl -row $aCheckRowIter -column 7 -sticky w |
660 | |
f6d8ca74 |
661 | grid .myFrame.myChecks.myQtCheck -row $aCheckRowIter -column 12 -sticky e |
662 | grid .myFrame.myChecks.myQtLbl -row $aCheckRowIter -column 13 -sticky w |
e22105a9 |
663 | |
ea991a6e |
664 | incr aCheckRowIter |
5c9493b3 |
665 | grid .myFrame.myChecks.myFImageCheck -row $aCheckRowIter -column 0 -sticky e |
666 | grid .myFrame.myChecks.myFImageLbl -row $aCheckRowIter -column 1 -sticky w |
d9d75a84 |
667 | grid .myFrame.myChecks.myDracoCheck -row $aCheckRowIter -column 2 -sticky e |
668 | grid .myFrame.myChecks.myDracoLbl -row $aCheckRowIter -column 3 -sticky w |
669 | |
1ce0716b |
670 | if { "$::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 |
677 | grid .myFrame.myChecks.myLzmaCheck -row $aCheckRowIter -column 6 -sticky e |
678 | grid .myFrame.myChecks.myLzmaLbl -row $aCheckRowIter -column 7 -sticky w |
0a419c51 |
679 | grid .myFrame.myChecks.myJDKCheck -row $aCheckRowIter -column 12 -sticky e |
680 | grid .myFrame.myChecks.myJDKLbl -row $aCheckRowIter -column 13 -sticky w |
e22105a9 |
681 | |
ea991a6e |
682 | incr aCheckRowIter |
5c9493b3 |
683 | grid .myFrame.myChecks.myFFmpegCheck -row $aCheckRowIter -column 0 -sticky e |
684 | grid .myFrame.myChecks.myFFmpegLbl -row $aCheckRowIter -column 1 -sticky w |
685 | grid .myFrame.myChecks.myVtkCheck -row $aCheckRowIter -column 2 -sticky e |
686 | grid .myFrame.myChecks.myVtkLbl -row $aCheckRowIter -column 3 -sticky w |
b40cdc2b |
687 | grid .myFrame.myChecks.myOpenVrCheck -row $aCheckRowIter -column 4 -sticky e |
688 | grid .myFrame.myChecks.myOpenVrLbl -row $aCheckRowIter -column 5 -sticky w |
27bd52b5 |
689 | grid .myFrame.myChecks.myE57Check -row $aCheckRowIter -column 6 -sticky e |
690 | grid .myFrame.myChecks.myE57Lbl -row $aCheckRowIter -column 7 -sticky w |
910970ab |
691 | |
f6d8ca74 |
692 | if { "$::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 |
697 | incr aCheckRowIter |
698 | |
d9d75a84 |
699 | grid .myFrame.myChecks.myTbbCheck -row $aCheckRowIter -column 12 -sticky e |
700 | grid .myFrame.myChecks.myTbbLbl -row $aCheckRowIter -column 13 -sticky w |
701 | |
702 | incr aCheckRowIter |
703 | |
910970ab |
704 | # Additional headers search paths |
705 | grid .myFrame.myIncLbl -row $aRowIter -column 0 -columnspan 10 -sticky w |
706 | incr aRowIter |
707 | grid .myFrame.myIncList -row $aRowIter -column 0 -rowspan 4 -columnspan 5 |
708 | grid .myFrame.myIncScrl -row $aRowIter -column 5 -rowspan 4 |
709 | grid .myFrame.myIncAdd -row $aRowIter -column 6 |
710 | incr aRowIter |
711 | #grid .myFrame.myIncEdit -row $aRowIter -column 6 |
712 | incr aRowIter |
713 | grid .myFrame.myIncRemove -row $aRowIter -column 6 |
714 | incr aRowIter |
715 | grid .myFrame.myIncClear -row $aRowIter -column 6 |
716 | incr aRowIter |
717 | grid .myFrame.myIncErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w |
718 | incr aRowIter |
719 | |
ea99d048 |
720 | # Additional search paths |
721 | wokdep:gui:Show3264Bitness aRowIter |
910970ab |
722 | |
723 | # Bottom section |
724 | grid .myFrame.mySave -row $aRowIter -column 4 -columnspan 2 |
725 | grid .myFrame.myClose -row $aRowIter -column 6 -columnspan 2 |
726 | |
727 | # Bind events |
aafe169f |
728 | bind .myFrame.myPrjFrame.myPrjCombo <<ComboboxSelected>> { |
729 | wokdep:gui:SwitchConfig |
730 | } |
ea991a6e |
731 | bind .myFrame.myVsFrame.myVsCombo <<ComboboxSelected>> { |
910970ab |
732 | wokdep:gui:SwitchConfig |
733 | } |
ea991a6e |
734 | bind .myFrame.myVsFrame.myArchCombo <<ComboboxSelected>> { |
910970ab |
735 | wokdep:gui:SwitchArch |
736 | } |
ea99d048 |
737 | bind .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 | |
748 | wokdep:gui:UpdateList |