buildroot/package/eigen/Config.in
Julien Olivain 74e6d6128b package/eigen: use cmake-package infra
The eigen package was introduced as a generic package, but upstream was
in fact using CMake.

The motivation of this change is to fix package detection with CMake.

Eigen3 library normally installs a signature file named
"signature_of_eigen3_matrix_library" to help library detection:
https://gitlab.com/libeigen/eigen/-/blob/3.3.7/CMakeLists.txt#L423

The library also provide a CMake macro that use this file to
detect it:
https://gitlab.com/libeigen/eigen/-/blob/3.3.7/cmake/FindEigen3.cmake#L76

Without the signature file installed, packages searching for this
library with this method will fail. Other packages usings pkg-config are
not affected by this issue.

By using the cmake-package infrastructure, all the needed files
are now installed, fixing this CMake detection issue.

Other changes in this patch:
- Updated the Eigen git repository to the new url:
  https://gitlab.com/libeigen/eigen
- Removed all build and install staging commands
  (now included in upstream cmake)
- Package needs EIGEN_SUPPORTS_IN_SOURCE_BUILD = NO
- Removed the BR2_PACKAGE_EIGEN_UNSUPPORTED_MODULES option,
  as this option is not proposed by the upstream CMake.
  Unsupported module header files are now unconditionally installed. As
  such, no need to introduce a legacy entry for
  BR2_PACKAGE_EIGEN_UNSUPPORTED_MODULES: users that had it enabled will
  still get the files installed, while those that did not will get them
  installed now.
- Updated hash for source package, because the first component in the
  stored paths changed from eigen-eigen-323c052e1731/ to eigen-3.3.7/
  and some mercurial related files (.hg_archival.txt, .hgtags) got
  dropped after the conversion to git.
- Reformat hash file with two spaces delimiters
- Define EIGEN_CONF_OPTS to set pkg-config .pc install path

Signed-off-by: Julien Olivain <juju@cotds.org>
Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-06-16 08:50:56 +02:00

18 lines
601 B
Plaintext

config BR2_PACKAGE_EIGEN
bool "eigen"
depends on BR2_INSTALL_LIBSTDCPP
help
Eigen is a C++ template library for linear algebra: vectors,
matrices, and related algorithms. It is versatile, fast,
elegant and works on many platforms (OS/Compilers).
This package only installs header files to the include path.
If you just want to use Eigen, you can use the header files
right away. There is no binary to link to. Eigen is a pure
template library defined in the headers.
http://eigen.tuxfamily.org/
comment "eigen needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP