Refactor Eigen for CMake subproject use.

Submitted by John McIver

Assigned to Nobody

Link to original bugzilla bug (#1133)

Description

FEATURE OVERVIEW:
Add support to Eigen CMake so that it can be included into a CMake build tree by using the CMake command "add_subdirectory( eigen )".

Eigen currently uses CMake to produce a standalone build solution. However, in a number of development cases it is preferable to add third-party packages to the build tree. With CMake this allows for full CMake target dependent builds, straight forward unit-testing on integration platforms, and reduced external library management overhead.

GOALS:

  • Maintain full current build functionality.
  • Both the standalone and submodule implementation share all CMake
    code, with minimal changes.
  • A copy of the Eigen headers will be placed in the the build area in
    such a way that standalone and submodule based builds are
    interchangeable, i.e., CMake changes not the include paths.

IMPLEMENTATION:
As I have an active requirement for this feature I have started work on a solution. It can be found at the following URL:
https://bitbucket.org/jkmciver/eigen-cmake-subproject

Currently the implementation does not handle unsupported headers.

Additionally a minimum version push to CMake 3.3.1 was required in order to allow dependencies to be associated with interface targets.

Edited Dec 05, 2019 by Eigen Bugzilla
Assignee Loading
Time tracking Loading