DiscussionsIssue archiveOCCT:Configuration

Archived issue #0028197

Configuration - support Eigen template library as external dependency

Open CASCADEOCCT:Configurationclosed7 public notes

Search issues

Description

In 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.

Public activity

7 archived notes

Participants are labeled by their role within this record.

01Commenter 3
Branch [archived branch] has been created by Participant.

[revision removed]


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.
02Commenter 2
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.
03Commenter 3
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
04Commenter 4
dear Commenter 2,
there are no remarks. please integrate
05Commenter 3
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
06Commenter 6
Removed unnecessary changes in adm/cmake/vardescr.cmake file.
07Commenter 3
Branch [archived branch] has been deleted by Commenter 4.

[revision removed]

Related records