View Issue Details

IDProjectCategoryView StatusLast Update
0028197Open CASCADEOCCT:Configurationpublic2017-09-29 16:28
ReporteramlAssigned Toapn  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028197: Configuration - support Eigen template library as external dependency
DescriptionIn scope of modeling meeting from 2016.12.07 it was decided to add Eigen third party. This library provides set of methods for linear algebra. So, it will be useful for particular cases where performance is important

It is proposed to add CMake flag which defines usage of this library. This flag should be turned off by default.
Steps To Reproduce• Add "CSF_EIGEN" line into some toolkits EXTERLIB file.
• Turn ON CMake variable "USE_EIGEN".
• Set 3RDPARTY_DIR to the location of your third-parties (with Eigen third party)
• Press Configure -> Generate.
• Open generated solution and check that all toolkits contain path to the Eigen header file if toolkit properties (Additional Include Directories).
• Add some code with usage of Eigen third party (include an Eigen header file and use some Eigen class).
• Check usage of HAVE_EIGEN preprocessor definition.
• Compile the solution.
TagsNo tags attached.
Test case numberNot needed

Relationships

parent of 0028932 closedbugmaster Add possibility to install Eigen along the OCCT 

Activities

git

2016-12-15 12:44

administrator   ~0061691

Branch CR28197 has been created by ski.

SHA-1: 230e3cb2043db3d995b7d11c9eb8015d5d2ab512


Detailed log of new commits:

Author: ski
Date: Thu Dec 15 12:44:36 2016 +0300

    0028197: Support of the "Eigen" third party
    
    Supporting of "Eigen" third party was added to CMake build procedure.

ski

2016-12-15 13:21

developer   ~0061695

Dear ibs,

Supporting of "Eigen" third party was added to CMake build procedure.

It is possible to use both types of "Eigen" third party distribution - source code and installed by CMake.

To use Eigen third party in some toolkit it is necessary to add "CSF_EIGEN" line into EXTERNLIB file of the toolkit, after that you can use CMake ui variable "USE_EIGEN" during configuration.
As i understand there is no library to link to. Compiler must be able to find the Eigen header files.

If you are using Eigen third party, preprocessor definition HAVE_EIGEN will be created.

Example of usage of Eigen header file:
#include <Eigen/Dense>

Note that in case of using Eigen source code variable "3RDPARTY_EIGEN_DIR" will be equal to "3RDPARTY_EIGEN_INCLUDE_DIR" and this is OK.

Please review occt branch CR28197.

git

2016-12-16 12:24

administrator   ~0061722

Branch CR28197 has been updated forcibly by ski.

SHA-1: aee197b587c550a962810b24fc9ff829137edde2

ibs

2016-12-16 12:32

developer   ~0061723

dear bugmaster,
there are no remarks. please integrate

git

2016-12-16 15:06

administrator   ~0061732

Branch CR28197 has been updated forcibly by ski.

SHA-1: 250161d81cba8b099898fa8ce0170cbd57784d9d

ski

2016-12-16 15:07

developer   ~0061733

Removed unnecessary changes in adm/cmake/vardescr.cmake file.

git

2017-02-08 11:31

administrator   ~0063553

Branch CR28197 has been deleted by kgv.

SHA-1: 250161d81cba8b099898fa8ce0170cbd57784d9d

Related Changesets

occt: master 3b1a2e51

2016-12-15 09:44:36

ski


Committer: apn Details Diff
0028197: Configuration - support Eigen template library as external dependency

Supporting of "Eigen" third party was added to CMake build procedure.
Affected Issues
0028197
add - adm/cmake/eigen.cmake Diff File
mod - CMakeLists.txt Diff File

Issue History

Date Modified Username Field Change
2016-12-07 09:30 aml New Issue
2016-12-07 09:30 aml Assigned To => ski
2016-12-14 12:27 ski Status new => assigned
2016-12-15 12:44 git Note Added: 0061691
2016-12-15 13:21 ski Note Added: 0061695
2016-12-15 13:21 ski Assigned To ski => ibs
2016-12-15 13:21 ski Status assigned => resolved
2016-12-15 13:21 ski Steps to Reproduce Updated
2016-12-15 14:48 kgv Severity minor => feature
2016-12-15 14:48 kgv Product Version 7.1.0 =>
2016-12-15 14:48 kgv Summary Support of the "Eigen" third party => Configuration - support Eigen template library as external dependency
2016-12-16 12:24 git Note Added: 0061722
2016-12-16 12:32 ibs Note Added: 0061723
2016-12-16 12:32 ibs Assigned To ibs => bugmaster
2016-12-16 12:32 ibs Status resolved => reviewed
2016-12-16 15:06 git Note Added: 0061732
2016-12-16 15:07 ski Note Added: 0061733
2016-12-23 12:02 apn Assigned To bugmaster => apn
2016-12-29 13:47 apn Test case number => Not needed
2016-12-29 13:47 apn Assigned To apn => bugmaster
2016-12-29 13:47 apn Status reviewed => tested
2016-12-30 18:08 apn Changeset attached => occt master 3b1a2e51
2016-12-30 18:08 apn Assigned To bugmaster => apn
2016-12-30 18:08 apn Status tested => verified
2016-12-30 18:08 apn Resolution open => fixed
2017-02-08 11:31 git Note Added: 0063553
2017-07-21 10:05 oan Relationship added parent of 0028932
2017-09-29 16:17 aiv Fixed in Version => 7.2.0
2017-09-29 16:28 aiv Status verified => closed