View Issue Details

IDProjectCategoryView StatusLast Update
0030749Open CASCADEOCCT:Configurationpublic2020-12-02 17:11
Reporternds Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.2.0 
Target Version7.5.0Fixed in Version7.5.0 
Summary0030749: Confuguration, genproj - support building of Inspectors
DescriptionIt's proposed to provide option for inspector compilation using genproj.bat

Reasons:
1. Inspector is never included in solutions generated with this script, it's OFF.
2. OCCT installation procedure doesn't copy inspector headers in inc/inspector despite of the inspector is compiled in release and available through inspector.bat. (Without these headers installed it is not possible to reuse inspector in custom applications)
TagsNo tags attached.
Test case numberNot required

Activities

git

2020-01-29 15:34

administrator   ~0090142

Branch CR30749 has been created by sshutina.

SHA-1: 312438271e5f9da25fbf4abb4aaa3fecfed94411


Detailed log of new commits:

Author: sshutina
Date: Wed Jan 29 15:29:53 2020 +0300

    add checkbutton "Build Inspector" for building of an inspector

git

2020-01-31 20:17

administrator   ~0090246

Branch CR30749 has been updated by nds.

SHA-1: 82d0792ea6e994f76c761578b17fd1cf365e0b3f


Detailed log of new commits:

Author: nds
Date: Fri Jan 31 20:14:08 2020 +0300

    0030749: Inspectors - compilation under tcl scripts

git

2020-02-04 23:12

administrator   ~0090292

Branch CR30749 has been updated by nds.

SHA-1: 740d35b99a8a346fff6f68a6376b1a029dec0481


Detailed log of new commits:

Author: nds
Date: Tue Feb 4 23:12:14 2020 +0300

    0030749: Inspectors - compilation under tcl scripts

git

2020-02-04 23:13

administrator   ~0090293

Branch CR30749 has been updated by nds.

SHA-1: fc1b56b59da0d0b49bfa090df0be1ad97a4fdd0c


Detailed log of new commits:

Author: nds
Date: Tue Feb 4 23:13:38 2020 +0300

    0030749: Inspectors - compilation under tcl scripts
    
    # correction inspector for simplier compilation under Tcl

git

2020-02-04 23:15

administrator   ~0090294

Branch CR30749_1 has been created by nds.

SHA-1: 5bc78f4e827716edf40b091c9f0325ea7829a6fd


Detailed log of new commits:

Author: nds
Date: Tue Feb 4 23:15:49 2020 +0300

    0030749: Inspectors - compilation under tcl scripts

git

2020-02-04 23:16

administrator   ~0090295

Branch CR30749_1 has been updated by nds.

SHA-1: 85926ed2db2fdabbc181bf46a510b04f0cd50894


Detailed log of new commits:

Author: nds
Date: Tue Feb 4 23:13:38 2020 +0300

    0030749: Inspectors - compilation under tcl scripts
    
    # correction inspector for simplier compilation under Tcl

git

2020-02-05 17:59

administrator   ~0090308

Branch CR30749_2 has been created by nds.

SHA-1: 8a4f543317034f8276590eeb4fbff2086d0e1146


Detailed log of new commits:

Author: nds
Date: Tue Feb 4 23:15:49 2020 +0300

    0030749: Inspectors - compilation under tcl scripts

nds

2020-02-05 18:00

developer   ~0090309

Dear Kirill,

could you please check provided modification.
This build covers VStudio 2013, 64 bit.

Best regards, Natalia

kgv

2020-02-05 19:06

developer   ~0090313

-proc wokdep:SearchLib {theLib theBitness {theSearchPath ""}} {
+proc wokdep:SearchLib {theLib theBitness {theSearchPath ""}} { 

Unrelated.

+  if { "$::Qt5_FOUND" == "false" } {

I believe there is no use in handling obsolete Qt4 within genproj.
It would be better supporting only Qt5 and omitting extra code.
If there are any Qt4 users - let them use CMake.

-proc _get_used_files { pk {inc true} {src true} } {
+proc _get_used_files { pk theSourceDir {inc true} {src true} } {
...
-proc genAllResources {} {
+proc genAllResources { theSourceDir } {
...

Probably theSrcDir will be better in this context.

+proc osutils:findSrcSubPath {theSubPath theSourceDir} {
+proc genResources { theResource theSourceDir } {

Arguments order looks awkward - better changing.

-      regsub -all {\"} "${aLine}" {\\"} aLine
+      # the line commented as \\ leads to wrong tcl color scheme of the file, uncomment if resources are not found
+      #regsub -all {\"} "${aLine}" {\\"} aLine
+      regsub -all {\"} "${aLine}" {\"} aLine

Please describe this change in commit message, and comment what kind of issue / on which file it fixes?

+proc OS:initdefinitions {theNameOfDefFile {os {}}} {

initDefinitions

+# obsolete, used for products only, initDefinitions should be used instead of it
 proc OS:init {{os {}}} {

OCC Products has no dedicated genproj.tcl script - why it is necessary?

+  foreach aModule $theModulesOther {
+    # toolkits

Is it possible to avoid copy-paste?

+# Generate entry for one source file in Visual Studio 10 project file
+proc osutils:vcxproj:mocfile { theFile theParams } {

Seems to be wrong description.

+          #append aFilesSection $aMocFile

Probably old temporary code.

+    set moc_dir $theOutDir/moc
+    set moc_out $moc_dir/moc_[file rootname $aResourceName].cpp

aMocDir, aMocOut

     # report all files not listed in FILES
-    set anAllFiles [glob -tails -nocomplain -dir ${anUnitAbsPath} "*"]
+    set anAllFiles [glob -tails -nocomplain -dir ${anUnitAbsPath} "*.*"]

Why this is necessary and how it affects result?

+;# Liste des toolkits WOK sous forme de full path
+proc TApplicationFramework:toolkits { } {

It is better avoiding comments in French.

+proc TApplicationFramework:install { } {
+        return [list UnitsAPI]

Looks unrelated.

 ttk::label    .myFrame.myChecks.myE57Lbl        -text "Use E57"
 
-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.myQtCheck      -offvalue "false" -onvalue "true" -variable CHECK_QT      -command wokdep:gui:UpdateList
+ttk::label    .myFrame.myChecks.myQtLbl        -text "Search Qt"
 checkbutton   .myFrame.myChecks.myJDKCheck      -offvalue "false" -onvalue "true" -variable CHECK_JDK      -command wokdep:gui:UpdateList

Please consider keeping indentation aligned.

nds

2020-02-05 19:46

developer   ~0090314

Last edited: 2020-02-05 19:48

<< OCC Products has no dedicated genproj.tcl script - why it is necessary? >>

There is src\VAS package for compilation products under Tcl. This package is similar to src\OS of OCCT.

If we are sure that it is not used, let's remove/comment init?

git

2020-02-07 16:06

administrator   ~0090404

Branch CR30749_3 has been created by nds.

SHA-1: 315fa55db7828f0cb5195f78d3ee7f3de346f598


Detailed log of new commits:

Author: nds
Date: Fri Feb 7 16:06:32 2020 +0300

    0030749: Inspectors - compilation under tcl scripts
    
    - provide different CSF_QT content for debug and release modes

Author: nds
Date: Fri Feb 7 06:15:17 2020 +0300

    0030749: Inspectors - compilation under tcl scripts
    
    - Giving a directory of processed toolkits as parameter for a lot of procedures. Default directory is 'src', inspector directory is 'tools'. This way is similar to one used in Cmake build procedure.

git

2020-02-09 18:20

administrator   ~0090432

Branch CR30749_4 has been created by nds.

SHA-1: c42c1554fce8029890b45ebd54b9f824efff6680


Detailed log of new commits:

Author: nds
Date: Sun Feb 9 18:20:13 2020 +0300

    0030749: Inspectors - compilation under tcl scripts
    
    - 'Search Qt4' is renamed into 'Search Qt'. Configuration uses Qt5 from now. For Qt4 use CMake configuration.
    - 'Build Inspector' check box is added. It causes 'tools' toolkits compilation. Activates automatically 'Search Qt' control.
    - Many Tcl procedures are extended with additional parameter to giving a directory of processed toolkits. The default directory is 'src', inspector directory is 'tools'. This way is similar Inspector compilation implemented in Cmake build procedure.
    - Dependency libraries in DEBUG are stored in __TKDEP_DEBUG__. Qt requires it as names of debug and release libraries are different.

nds

2020-02-10 09:24

developer   ~0090435

Dear Kirill,

could you please review it once again.
Please, note that this fix has additional improvements (relatively to your previuos check):
- processing qrc resource file,
- providing different names for dependent libraries of Qt in Release and Debug modes,
- installing inspector.bat in root directory (like draw.bat).

Jenkins job: http://jenkins-test-12.nnov.opencascade.com/view/CR30749-master-NDS/

Thank you in advance, Natalia

kgv

2020-02-12 18:12

developer   ~0090496

+if { "$::tcl_platform(platform)" == "windows" } {
+  checkbutton   .myFrame.myChecks.myInspectorBuild -offvalue "false" -onvalue "true" -variable BUILD_Inspector      -command wokdep:gui:UpdateList

Is it intentional - Inspector is indeed can be built only for Windows platform?

+
+proc osutils:convertModules { theModulesOther theSourceDirOther theSrcDir theProjects theProjectsInModule theDependencies } {
...
+proc osutils:depLibraries { theUsedLibs theOsLibs theVcVer} {

Procedures description is missing.

+      set aGeneratedFiles [osutils:tk:execfiles $aMocResFiles $theOutDir moc.exe moc cpp]
+      set aQrcFiles [osutils:tk:execfiles $aQrcResFiles $theOutDir rcc.exe rcc cpp]

Can it be compatible with Linux?

+    # prepare Qt moc files, appears only in Inspector - directory tools
+    set aGeneratedFiles {}
+    if { [osutils:isToolsDirectory $theSrcDir] == true } {
+      set aMocResFiles [osutils:tk:mocfiles $aHxxFiles $theOutDir]

Can it be replaced by CSF_QT check within EXTERNLIB for processed Toolkit?

+# Returns a list of exported features.
+# source : Source files
+# runtime: Shareables
+# wokadm : WOK admin files
+# api    : Public include files
+proc TApplicationFramework:Export { } {

Please remove these comments.

git

2020-02-13 10:55

administrator   ~0090510

Branch CR30749_4 has been updated by nds.

SHA-1: 5ee9ba1dacb0e8e7a38b026e5bd0114c78ca1564


Detailed log of new commits:

Author: nds
Date: Thu Feb 13 10:55:14 2020 +0300

    0030749: Inspectors - compilation under tcl scripts
    
    # remarks correction

git

2020-02-13 11:30

administrator   ~0090511

Branch CR30749_5 has been created by nds.

SHA-1: 6e54891f0a35b87a49c4457976588dbb8f76dd47


Detailed log of new commits:

Author: nds
Date: Sun Feb 9 18:20:13 2020 +0300

    0030749: Inspectors - compilation under tcl scripts
    
    - 'Search Qt4' is renamed into 'Search Qt'. Configuration uses Qt5 from now. For Qt4 use CMake configuration.
    - 'Build Inspector' check box is added. It causes 'tools' toolkits compilation. Activates automatically 'Search Qt' control.
    - Many Tcl procedures are extended with additional parameter to giving a directory of processed toolkits. The default directory is 'src', inspector directory is 'tools'. This way is similar Inspector compilation implemented in Cmake build procedure.
    - Dependency libraries in DEBUG are stored in __TKDEP_DEBUG__. Qt requires it as names of debug and release libraries are different.

nds

2020-02-13 11:48

developer   ~0090512

Dear Kirill,

remarks are corrected, please check it on CR30749_5 (difference for the latest note is on CR30749_4)

Thank you a lot for remark about using CSF_QT.

Relatively Unix support. The current implementation goes by a way of preparing projects for VStudio only (OS:MKVC -> OS:vcsolution -> osutils:vcproj), not Unix at all.
We've discussed with Sergey that the inspector compiling under Unix is in a low priority, usually CMake is used for it.
So, I've changed the platform of this issue on Window only.

kgv

2020-02-13 11:59

developer   ~0090514

Dear bugmaster,

please check building of OCCT and OCC Products via Tcl genproj routine (not CMake) on Linux and Windows platforms.

bugmaster

2020-02-23 11:59

administrator   ~0090633

Fix has been tested in framework of IR-2020-02-22

Combination -
OCCT branch : IR-2020-02-22
master SHA - 0950253ca6a21ca4d114a8743b4b9990ec0398be
fe4497f3246e6bc1ced97ac331c148f0809ded15
Products branch : IR-2020-02-22 SHA - 7fcdb8a1da7b1467a779e4ef1bbb4b2746e6ffb8
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17017.87000000002 / 17024.610000000095 [-0.04%]
Products
Total CPU difference: 12533.37000000014 / 12614.3600000001 [-0.64%]
Windows-64-VC14:
OCCT
Total CPU difference: 18397.9375 / 18472.453125 [-0.40%]
Products
Total CPU difference: 14483.234375 / 14513.703125 [-0.21%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2020-02-23 12:25

administrator   ~0090638

Branch CR30749 has been deleted by inv.

SHA-1: fc1b56b59da0d0b49bfa090df0be1ad97a4fdd0c

git

2020-02-23 12:25

administrator   ~0090639

Branch CR30749_1 has been deleted by inv.

SHA-1: 85926ed2db2fdabbc181bf46a510b04f0cd50894

git

2020-02-23 12:25

administrator   ~0090640

Branch CR30749_2 has been deleted by inv.

SHA-1: 8a4f543317034f8276590eeb4fbff2086d0e1146

git

2020-02-23 12:25

administrator   ~0090641

Branch CR30749_3 has been deleted by inv.

SHA-1: 315fa55db7828f0cb5195f78d3ee7f3de346f598

git

2020-02-23 12:25

administrator   ~0090642

Branch CR30749_4 has been deleted by inv.

SHA-1: 5ee9ba1dacb0e8e7a38b026e5bd0114c78ca1564

git

2020-02-23 12:25

administrator   ~0090643

Branch CR30749_5 has been deleted by inv.

SHA-1: 6e54891f0a35b87a49c4457976588dbb8f76dd47

Related Changesets

occt: master f6d8ca74

2020-02-09 15:20:13

nds


Committer: bugmaster Details Diff
0030749: Inspectors - compilation under tcl scripts

- 'Search Qt4' is renamed into 'Search Qt'. Configuration uses Qt5 from now. For Qt4 use CMake configuration.
- 'Build Inspector' check box is added. It causes 'tools' toolkits compilation. Activates automatically 'Search Qt' control.
- Many Tcl procedures are extended with additional parameter to giving a directory of processed toolkits. The default directory is 'src', inspector directory is 'tools'. This way is similar Inspector compilation implemented in Cmake build procedure.
- Dependency libraries in DEBUG are stored in __TKDEP_DEBUG__. Qt requires it as names of debug and release libraries are different.
Affected Issues
0030749
mod - adm/genconf.tcl Diff File
mod - adm/genconfdeps.tcl Diff File
mod - adm/genproj.tcl Diff File
mod - adm/templates/template.vc10 Diff File
mod - adm/templates/template.vc10x Diff File
mod - adm/UDLIST Diff File
mod - src/OS/ApplicationFramework.tcl Diff File
mod - src/OS/DataExchange.tcl Diff File
mod - src/OS/Draw.tcl Diff File
mod - src/OS/FoundationClasses.tcl Diff File
mod - src/OS/ModelingAlgorithms.tcl Diff File
mod - src/OS/ModelingData.tcl Diff File
add - src/OS/TApplicationFramework.tcl Diff File
add - src/OS/TModelingData.tcl Diff File
add - src/OS/Tools.tcl Diff File
add - src/OS/TTool.tcl Diff File
add - src/OS/TVisualization.tcl Diff File
mod - src/OS/Visualization.tcl Diff File
mod - tools/DFBrowser/DFBrowser.qrc Diff File
rm - tools/DFBrowserPane/DFBrowserPane.qrc Diff File
mod - tools/DFBrowserPane/FILES Diff File
rm - tools/DFBrowserPane/icons/imageres_4.ico Diff File
rm - tools/DFBrowserPane/icons/imageres_5.ico Diff File
rm - tools/DFBrowserPane/icons/label.png Diff File
rm - tools/DFBrowserPane/icons/label_folder_16x16.png Diff File
rm - tools/DFBrowserPane/icons/label_folder_20x20.png Diff File
rm - tools/DFBrowserPane/icons/label_folder_40x40.png Diff File
rm - tools/DFBrowserPane/icons/label_folder_expand_16x16.png Diff File
rm - tools/DFBrowserPane/icons/label_folder_expand_20x20.png Diff File
rm - tools/DFBrowserPane/icons/label_folder_expand_40x40.png Diff File
mod - tools/TInspector/TInspector_Communicator.cxx Diff File
mod - tools/TInspector/TInspector_Communicator.hxx Diff File
mod - tools/TInspectorEXE/TInspectorEXE.cxx Diff File
mod - tools/TKView/EXTERNLIB Diff File
mod - tools/TKVInspector/EXTERNLIB Diff File

Issue History

Date Modified Username Field Change
2019-05-28 12:13 nds New Issue
2019-05-28 12:13 nds Assigned To => nds
2019-09-05 11:46 nds Target Version 7.4.0 => 7.5.0
2020-01-29 15:34 git Note Added: 0090142
2020-01-31 20:17 git Note Added: 0090246
2020-02-04 23:12 git Note Added: 0090292
2020-02-04 23:13 git Note Added: 0090293
2020-02-04 23:15 git Note Added: 0090294
2020-02-04 23:16 git Note Added: 0090295
2020-02-05 17:59 git Note Added: 0090308
2020-02-05 18:00 nds Note Added: 0090309
2020-02-05 18:00 nds Assigned To nds => kgv
2020-02-05 18:00 nds Status new => resolved
2020-02-05 19:06 kgv Note Added: 0090313
2020-02-05 19:06 kgv Assigned To kgv => nds
2020-02-05 19:06 kgv Status resolved => assigned
2020-02-05 19:07 kgv Category OCCT:Inspectors => OCCT:Configuration
2020-02-05 19:07 kgv Summary Inspectors - compilation under tcl scripts => Confuguration, genproj - support building of Inspectors
2020-02-05 19:07 kgv Product Version => 7.2.0
2020-02-05 19:46 nds Note Added: 0090314
2020-02-05 19:48 nds Note Edited: 0090314
2020-02-07 16:06 git Note Added: 0090404
2020-02-09 18:20 git Note Added: 0090432
2020-02-10 09:24 nds Note Added: 0090435
2020-02-10 09:24 nds Assigned To nds => kgv
2020-02-10 09:24 nds Status assigned => resolved
2020-02-12 18:12 kgv Note Added: 0090496
2020-02-12 18:12 kgv Assigned To kgv => nds
2020-02-12 18:12 kgv Status resolved => assigned
2020-02-13 10:55 git Note Added: 0090510
2020-02-13 11:30 git Note Added: 0090511
2020-02-13 11:48 nds Note Added: 0090512
2020-02-13 11:48 nds Assigned To nds => kgv
2020-02-13 11:48 nds Status assigned => resolved
2020-02-13 11:59 kgv Note Added: 0090514
2020-02-13 11:59 kgv Assigned To kgv => bugmaster
2020-02-20 10:04 nds Status resolved => reviewed
2020-02-23 11:59 bugmaster Note Added: 0090633
2020-02-23 11:59 bugmaster Status reviewed => tested
2020-02-23 12:03 bugmaster Test case number => Not required
2020-02-23 12:07 bugmaster Changeset attached => occt master f6d8ca74
2020-02-23 12:07 bugmaster Status tested => verified
2020-02-23 12:07 bugmaster Resolution open => fixed
2020-02-23 12:25 git Note Added: 0090638
2020-02-23 12:25 git Note Added: 0090639
2020-02-23 12:25 git Note Added: 0090640
2020-02-23 12:25 git Note Added: 0090641
2020-02-23 12:25 git Note Added: 0090642
2020-02-23 12:25 git Note Added: 0090643
2020-12-02 16:40 emo Fixed in Version => 7.5.0
2020-12-02 17:11 emo Status verified => closed