File: FindEigen3.cmake

package info (click to toggle)
paraview 5.11.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 497,236 kB
  • sloc: cpp: 3,171,290; ansic: 1,315,072; python: 134,290; xml: 103,324; sql: 65,887; sh: 5,286; javascript: 4,901; yacc: 4,383; java: 3,977; perl: 2,363; lex: 1,909; f90: 1,255; objc: 143; makefile: 119; tcl: 59; pascal: 50; fortran: 29
file content (33 lines) | stat: -rw-r--r-- 1,363 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
find_path(Eigen3_INCLUDE_DIR
  NAMES signature_of_eigen3_matrix_library
  PATH_SUFFIXES eigen3 eigen
  DOC "Eigen include directory")
mark_as_advanced(Eigen3_INCLUDE_DIR)

if (Eigen3_INCLUDE_DIR)
  file(STRINGS "${Eigen3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _Eigen3_version_lines
    REGEX "#define[ \t]+EIGEN_(WORLD|MAJOR|MINOR)_VERSION")
  string(REGEX REPLACE ".*EIGEN_WORLD_VERSION *\([0-9]*\).*" "\\1" _Eigen3_version_world "${_Eigen3_version_lines}")
  string(REGEX REPLACE ".*EIGEN_MAJOR_VERSION *\([0-9]*\).*" "\\1" _Eigen3_version_major "${_Eigen3_version_lines}")
  string(REGEX REPLACE ".*EIGEN_MINOR_VERSION *\([0-9]*\).*" "\\1" _Eigen3_version_minor "${_Eigen3_version_lines}")
  set(Eigen3_VERSION "${_Eigen3_version_world}.${_Eigen3_version_major}.${_Eigen3_version_minor}")
  unset(_Eigen3_version_world)
  unset(_Eigen3_version_major)
  unset(_Eigen3_version_minor)
  unset(_Eigen3_version_lines)
endif ()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Eigen3
  REQUIRED_VARS Eigen3_INCLUDE_DIR
  VERSION_VAR Eigen3_VERSION)

if (Eigen3_FOUND)
  set(Eigen3_INCLUDE_DIRS "${Eigen3_INCLUDE_DIR}")

  if (NOT TARGET Eigen3::Eigen3)
    add_library(Eigen3::Eigen3 INTERFACE IMPORTED)
    set_target_properties(Eigen3::Eigen3 PROPERTIES
      INTERFACE_INCLUDE_DIRECTORIES "${Eigen3_INCLUDE_DIR}")
  endif ()
endif ()