View Issue Details

IDProjectCategoryView StatusLast Update
0024331Open CASCADEOCCT:Codingpublic2013-12-19 13:59
ReporterabvAssigned Toabv 
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2010 
Product Version6.7.0 
Target Version6.7.0Fixed in Version6.7.0 
Summary0024331: CMake scripts improvements
DescriptionCurrent CMake scripts have some limitations and can be improved to:

- Remove prefix '3RDPARTY' from variables that trigger use of 3rd-party products. This would move them to separate group 'USE' which can be more convenient for the user to spot these variables. Note that this is how CMake is described in current documentation.

- Revise help strings associated with CMake variables; for instance variables "3RDPARTY_..._DLL" and "..._LIBRARY" are now documented as "Directory containing... library" while actually they contain full path to the library file

- Enable identification of Tcl8.6 libraries; current code seems to be bound to Tcl 8.5

- Make sure that tests work after installation (with all INSTALL_ options checked). In my case DRAW starts fine but attempt to run testgrid command causes error (most likely we need to define environment variables like TCLLIBPATH):

    Draw[1]> testgrid demo
    can't find package msgcat 1.4

- Option /fp:precise should be explicitly set for Visual Studio projects, as a protection for the case if the project will be converted to use of Intel compiler which use /fp:fast as default (bad for OCCT)

- Generation of CMake scripts (wgenproj) should create env.*.in and draw.* files for all platforms (not only current one)
TagsNo tags attached.
Test case number

Relationships

related to 0024426 closedapn CMake ignores 3rd party options; env.sh does not set "CASROOT" environment variable 

Activities

abv

2013-11-08 12:02

manager   ~0026509

I have pushed some additional corrections related to CMake builds to branch CR24331, please take them into account

ibs

2013-11-11 13:28

developer   ~0026531

CR24331_1 OCCT branch and CR24331 WOK branch are ready for reviewing

abv

2013-11-14 07:05

manager   ~0026607

Some remarks (not ctitical, but anyway):

- Please improve description of parameter BUILD_TOOLKITS, I guess it could sound "List of OCCT toolkits to be built (use if whole module is not selected)"

- Then I suggest that possibility to choose configurations other than Debug and Release supported by CMake (e.g. "RelWithDebugInfo") should be enabled in BUILD_TYPE parameter. Should not it be renamed to BUILD_CONFIGURATION, by the way?

- Is it possible with CMake to group OCCT toolkits by modules in VS solution, as we do in WOK generation?

- Probably define No_Exception in Release builds, to exclude run-time checks which are usually done in Debug mode.

- There is a tricky point with options BUILD_ for modules: if you keep BUILD_Draw enabled, this leads to building almost everything due to dependencies. Please give some hint on this in documentation. Perhaps warning can be issued for toolkits which are not selected explicitly for building but taken due to dependency.

abv

2013-11-14 07:06

manager   ~0026608

More serious point: in 64-bit mode (vc9, release) INSTALL produced error:

1> file INSTALL cannot find "D:/DevTools/TclTk85/lib/tcl85".

abv

2013-11-14 09:05

manager   ~0026610

One more point: I suggest that subdirectory adm/cmake_inv should be renamed to adm/templates

abv

2013-11-14 09:48

manager   ~0026611

Additional issue (not sure it was the same on other machine I tried): I have TObj package sources copied by INSTALL project...

abv

2013-11-14 16:33

manager   ~0026630

Reviewed and tested on VS 2010 64-bit, please test / integrate

Related Changesets

occt: master ad211ad3

2013-11-08 06:56:55

abv


Committer: abv Details Diff
0024331: CMake scripts improvements

prefix '3RDPARTY' from variables that trigger use of 3rd-party products removed
help strings associated with CMake variables revised
identification of Tcl8.6 libraries enables
invariable cmake files moved from wok to adm/templates folder
RELWITHDEBINFO build configuration added
BUILD_TYPE variable was renamed in BUILD_CONFIGURATION
copy just TObj/TObj.msg instead of TObj folder

Option /fp:precise for Visual Studio projects set

Update of documentation for building with CMake; three warnings appeared in VS projects built by CMake corrected
Affected Issues
0024331
mod - .gitignore Diff File
add - adm/templates/draw.bat Diff File
add - adm/templates/draw.sh Diff File
add - adm/templates/env.bat.in Diff File
add - adm/templates/env.sh.in Diff File
add - adm/templates/tbb.cmake Diff File
add - adm/templates/tcl.cmake Diff File
mod - CMakeLists.txt Diff File
mod - dox/dev_guides/building/cmake/cmake.md Diff File
mod - dox/user_guides/tobj/tobj.md Diff File
mod - src/TestTopOpeTools/TestTopOpeTools_Trace.cxx Diff File

Issue History

Date Modified Username Field Change
2013-11-08 11:46 abv New Issue
2013-11-08 11:46 abv Assigned To => bugmaster
2013-11-08 11:46 abv Assigned To bugmaster => ibs
2013-11-08 11:46 abv Status new => assigned
2013-11-08 12:02 abv Note Added: 0026509
2013-11-11 13:28 ibs Note Added: 0026531
2013-11-11 13:28 ibs Assigned To ibs => abv
2013-11-11 13:28 ibs Status assigned => resolved
2013-11-14 07:05 abv Note Added: 0026607
2013-11-14 07:05 abv Assigned To abv => ibs
2013-11-14 07:05 abv Status resolved => assigned
2013-11-14 07:06 abv Note Added: 0026608
2013-11-14 09:05 abv Note Added: 0026610
2013-11-14 09:48 abv Note Added: 0026611
2013-11-14 16:26 ibs Assigned To ibs => abv
2013-11-14 16:26 ibs Status assigned => resolved
2013-11-14 16:33 abv Note Added: 0026630
2013-11-14 16:33 abv Assigned To abv => bugmaster
2013-11-14 16:33 abv Status resolved => reviewed
2013-11-15 10:24 abv Changeset attached => occt master ad211ad3
2013-11-15 10:24 abv Assigned To bugmaster => abv
2013-11-15 10:24 abv Status reviewed => verified
2013-11-15 10:24 abv Resolution open => fixed
2013-12-02 14:40 dbv Relationship added related to 0024426
2013-12-19 13:50 bugmaster Status verified => closed
2013-12-19 13:59 bugmaster Fixed in Version => 6.7.0
2014-01-11 11:58 abv Category OCCT Release:BUILD => OCCT:Coding