Commit Graph

221 Commits

Author SHA1 Message Date
Jean-Christophe Fillion-Robin
2cbd9dd498 [PATCH] cmake: Support source include with add_subdirectory and
find_package use
This commit allows the sources of the project to be included in a parent
project CMakeLists.txt and support use of "find_package(Eigen3 CONFIG REQUIRED)"

Here is an example allowing to test the changes. It is not particularly
useful in itself. This change will allow to support one of the scenario
allowing to create custom 3D Slicer application bundling associated plugins.

/tmp/eigen-git-mirror  # Eigen sources

/tmp/test/CMakeLists.txt:

  cmake_minimum_required(VERSION 3.12)
  project(test)
  add_subdirectory("/tmp/eigen-git-mirror" "eigen-git-mirror")
  find_package(Eigen3 CONFIG REQUIRED)

and configuring it using:

  mkdir /tmp/test-build && cd $_
  cmake \
    -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY:BOOL=1 \
    -DEigen3_DIR:PATH=/tmp/test-build/eigen-git-mirror \
    /tmp/test

Co-authored-by: Pablo Hernandez <pablo.hernandez@kitware.com>
---
 CMakeLists.txt              | 1 +
 cmake/Eigen3Config.cmake.in | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)
2018-09-07 15:50:19 -04:00
Gael Guennebaud
40797dbea3 bug #1572: use c++11 atomic instead of volatile if c++11 is available, and disable multi-threaded GEMM on non-x86 without c++11. 2018-07-17 00:11:20 +02:00
Alexey Frunze
3875fb05aa Add support for MIPS SIMD (MSA) 2018-07-06 16:04:30 -07:00
Gael Guennebaud
84868da904 Don't run hg on non mercurial clone 2018-05-31 21:21:57 +02:00
Christoph Hertzberg
34e499ad36 Disable -Wshadow when compiling with g++ 2018-04-21 22:08:26 +02:00
Zvi Rackover
599a88da27 Disable gcc-specific workaround for Clang to allow build with AVX512
There is currently a workaround for an issue in gcc that requires invoking gcc with the -fabi-version flag. This workaround is not needed for Clang and moreover is not supported.
2017-11-16 19:53:38 +00:00
Konstantinos Margaritis
0e6e027e91 check both z13 and z14 arches 2017-10-12 15:38:34 -04:00
a-doumoulakis
c3bd860de8 Modification upon request
- Remove warning suppression
2017-05-25 18:46:18 +01:00
a-doumoulakis
052426b824 Add support for triSYCL
Eigen is now able to use triSYCL with EIGEN_SYCL_TRISYCL and TRISYCL_INCLUDE_DIR options

Fix contraction kernel with correct nd_item dimension
2017-05-05 19:26:27 +01:00
Gael Guennebaud
156e6234f1 bug #1375: fix cmake installation with cmake 2.8 2017-01-24 09:16:40 +01:00
LaFeuille
1b19b80c06 Fix a typo 2017-01-13 07:24:55 +00:00
NeroBurner
c4fc2611ba add cmake-option to enable/disable creation of tests
* * *
disable unsupportet/test when test are disabled
* * *
rename EIGEN_ENABLE_TESTS to BUILD_TESTING
* * *
consider BUILD_TESTING in blas
2017-01-02 09:09:21 +01:00
Silvio Traversaro
e049a2a72a Added relocatable cmake support also for CMake before 3.0 and after 2.8.8 2016-12-06 10:37:34 +01:00
Silvio Traversaro
18481b518f Make CMake config file relocatable 2016-12-05 10:39:52 +01:00
Sergiu Deitsch
5e3c5c42f6 cmake: remove architecture dependency from Eigen3ConfigVersion.cmake
Also, install Eigen3*.cmake under $prefix/share/eigen3/cmake by default.
(grafted from 86ab00cdcf
)
2016-11-30 15:46:46 +01:00
Sergiu Deitsch
5c516e4e0a cmake: added Eigen3::Eigen imported target
(grafted from a287140f72
)
2016-11-22 12:25:06 +01:00
Benoit Steiner
5c3995769c Improved AVX512 configuration 2016-11-03 04:50:28 -07:00
Benoit Steiner
ca0ba0d9a4 Improved AVX512 support 2016-11-03 04:00:49 -07:00
Benoit Steiner
c80587c92b Merged eigen/eigen into default 2016-11-03 03:55:11 -07:00
Benoit Steiner
38b6048e14 Deleted redundant implementation of predux 2016-10-12 14:37:56 -07:00
Benoit Steiner
8ba3c41fcf Revergted unecessary change 2016-10-06 15:12:15 -07:00
Benoit Steiner
78b569f685 Merged latest updates from trunk 2016-10-05 18:48:55 -07:00
Benoit Steiner
6f3cd529af Pulled latest updates from trunk 2016-10-05 18:31:43 -07:00
Luke Iwanski
b91e021172 Merged with default. 2016-09-19 14:03:54 +01:00
Luke Iwanski
cb81975714 Partial OpenCL support via SYCL compatible with ComputeCpp CE. 2016-09-19 12:44:13 +01:00
Christoph Hertzberg
fe4b927e9c Add aliases Eigen_*_DIR to Eigen3_*_DIR
This is to make configuring work again after project was renamed from Eigen to Eigen3
2016-08-05 15:21:14 +02:00
Christoph Hertzberg
f4404777ff Change project name to Eigen3, to be compatible with FindEigen3.cmake and Eigen3Config.cmake.
This is related to pull-requests 214.
2016-08-02 17:08:57 +00:00
xantares
c52c8d76da Disable pkgconfig only for native windows builds
ie enable it for MinGW
2016-06-27 16:43:08 +00:00
Christoph Hertzberg
33ca7e3c8d bug #1207: Add and fix logical-op warnings 2016-05-11 19:36:34 +02:00
Christoph Hertzberg
dacb469bc9 Enable and fix -Wdouble-conversion warnings 2016-05-05 13:35:45 +02:00
Benoit Steiner
2f28ccbea3 Update the makefile to make the tests compile with gcc 4.9 2016-04-29 14:11:09 -07:00
Benoit Steiner
7a4bd337d9 Resolved merge conflict 2016-04-29 13:42:22 -07:00
Benoit Steiner
07a247dcf4 Pulled latest updates from upstream 2016-04-29 13:41:26 -07:00
Benoit Steiner
6015422ee6 Added an option to enable the use of the F16C instruction set 2016-04-21 10:30:29 -07:00
Benoit Steiner
8bfe739cd2 Updated the AVX512 PacketMath to properly leverage the AVX512DQ instructions 2016-04-11 18:40:16 -07:00
Benoit Steiner
d6e596174d Pull latest updates from upstream 2016-04-11 17:20:17 -07:00
Konstantinos Margaritis
a9a6710e15 add initial s390x(zEC13) ZVECTOR support 2016-03-21 13:46:47 -04:00
Benoit Steiner
afb81b7ded Made sure to use the hard abi when compiling with NEON instructions to avoid the "gnu/stubs-soft.h: No such file or directory" error 2016-03-17 21:24:24 -07:00
Benoit Steiner
af199b4658 Made the CUDA architecture level a build setting. 2016-02-25 09:06:18 -08:00
Benoit Steiner
99093c0fe0 Added support for AVX512 to the build files 2016-01-05 10:02:49 -08:00
Gael Guennebaud
b0a1d6f2e5 Improve handling of deprecated EIGEN_INCLUDE_INSTALL_DIR variable 2015-12-10 15:47:06 +01:00
Taylor Braun-Jones
b836acb799 Further fixes for CMAKE_INSTALL_PREFIX correctness
And other related cmake cleanup, including:

- Use CMAKE_CURRENT_LIST_DIR to find UseEigen3.cmake
- Use INSTALL_DIR term consistently for variable names
- Drop unnecessary extra EIGEN_INCLUDE_INSTALL_DIR
- Fix some paths in generated eigen3.pc and Eigen3Config.cmake files
    missing CMAKE_INSTALL_PREFIX
- Fix pkgconfig directory choice ignored if it doesn't exist at configure
    time (bug #711)
2015-11-07 21:29:24 -05:00
Gael Guennebaud
034ca5a22d Clean hardcoded compilation options 2015-11-30 17:05:42 +01:00
Gael Guennebaud
c8c8821038 Biug 1100: remove explicit CMAKE_INSTALL_PREFIX prefix to please cmake install's DESTINATION argument 2015-10-30 12:00:34 +01:00
Gael Guennebaud
0eb06f1391 Enable -Wshadow with clang 2015-06-09 17:44:18 +02:00
Benoit Jacob
0e9753c8df Fix compiler flags on Android/ARM:
- generate position-independent code (PIE), a requirement to run binaries on Android 5.0+ devices;
 - correctly handle EIGEN_TEST_FMA + EIGEN_TEST_NEON to pass -mfpu=neon-vfpv4.
2015-04-07 14:03:21 -04:00
Benoit Jacob
f5ff4d826f Fix NEON build flags: in the current NDK, at least with the clang-3.5 toolchain,
-mfpu=neon is not enough to activate NEON, since it's incompatible with the default float ABI,
and I have to pass -mfloat-abi=softfp (which is what everyone does in practice).
In fact, it would be a good idea to pass -mfloat-abi=softfp all the time, regardless of NEON.
Also removing the -mcpu=cortex-a8, as 1) it's not needed and 2) if we really wanted to pass
a specific -mcpu flag, that would presumably to tune performance for benchmarks, and it would
then not really make sense to tune for the very old cortex-a8 (it reflects ARM CPUs from 5 years ago).
2015-02-27 10:56:50 -05:00
Gael Guennebaud
3594451ee0 Remove EIGEN_TEST_C++0x option and let EIGEN_TEST_CXX11 adds the -std=c++11 flag 2015-02-20 09:31:27 +01:00
Christoph Hertzberg
dcad508986 At least CMAKE 2.8.4 is required for WORKING_DIRECTORY option in add_test 2014-12-15 12:45:29 +01:00
Abhijit Kundu
eb3695d2fc Added cmake uninstall target.
This adds a cmake command make uninstall
Running make uninstall removes the files installed by running make install
2014-12-04 02:57:03 -05:00