summaryrefslogtreecommitdiff
path: root/eigen2.pri
blob: 0bda55bfe3bc66e83881cdda8eed3249aea8e300 (plain)
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
34
35
36
37
38
39
40
41
42
43
44
eigen2 {

  CONFIG(mingw-cross-env) {
    EIGEN2_INCLUDEPATH = mingw-cross-env/include/eigen2
  }

  # Optionally specify location of Eigen2 using the 
  # OPENSCAD_LIBRARIES env. variable
  isEmpty(EIGEN2_INCLUDEPATH) {
    OPENSCAD_LIBRARIES_DIR = $$(OPENSCAD_LIBRARIES)
    !isEmpty(OPENSCAD_LIBRARIES_DIR) {
      exists($$OPENSCAD_LIBRARIES_DIR/include/eigen2) {
        EIGEN2_INCLUDEPATH = $$OPENSCAD_LIBRARIES_DIR/include/eigen2
      }
    }
  }

  # Optionally specify location of Eigen2 using the 
  # EIGEN2DIR env. variable
  isEmpty(EIGEN2_INCLUDEPATH) {
    EIGEN2_DIR = $$(EIGEN2DIR)
    !isEmpty(EIGEN2_DIR) { 
      EIGEN2_INCLUDEPATH = $$EIGEN2_DIR
      message("EIGEN2 location: $$EIGEN2_INCLUDEPATH")
    }
  }

  isEmpty(EIGEN2_INCLUDEPATH) {
    freebsd-g++: EIGEN2_INCLUDEPATH = /usr/local/include/eigen2
    macx: EIGEN2_INCLUDEPATH = /opt/local/include/eigen2
    linux*|hurd*: EIGEN2_INCLUDEPATH = /usr/include/eigen2
    netbsd*: EIGEN2_INCLUDEPATH = /usr/pkg/include/eigen2
  }

  # eigen2 being under 'include/eigen2' needs special prepending
  QMAKE_INCDIR_QT = $$EIGEN2_INCLUDEPATH $$QMAKE_INCDIR_QT

  # disable Eigen SIMD optimizations for platforms where it breaks compilation
  !macx {
    !freebsd-g++ {
      QMAKE_CXXFLAGS += -DEIGEN_DONT_ALIGN
    }
  }
}
contact: Jan Huwald // Impressum