summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authordon bright <hugh.m.bright@gmail.com>2012-08-18 22:14:17 (GMT)
committerdon bright <hugh.m.bright@gmail.com>2012-08-18 22:14:17 (GMT)
commitc4d68588a6f2f39ab60055a56fbc59b87ecee2e2 (patch)
treeb25f66be274b37c7b8068f238f1ff9457b8d95e5 /tests
parent10c7607541e502f2d0ff7c2c49fd70809704c039 (diff)
modify build system to auto-detect eigen3, and fallback to eigen2
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt75
1 files changed, 33 insertions, 42 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index db9433f..7df8885 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -159,15 +159,43 @@ set(CMAKE_INCLUDE_DIRECTORIES_BEFORE OFF)
# Eigen
+# First try to find Eigen3. If it's not there, fallback to Eigen2
-set( EIGEN_VERSION 3 )
-if( ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
- set( EIGEN_VERSION 3 )
+# Eigen3
+
+if (NOT $ENV{EIGEN3DIR} STREQUAL "")
+ set(EIGEN3_DIR "$ENV{EIGEN3DIR}")
+elseif (NOT $ENV{OPENSCAD_LIBRARIES} STREQUAL "")
+ set(EIGEN3_DIR "$ENV{OPENSCAD_LIBRARIES}")
endif()
+if (NOT EIGEN3_INCLUDE_DIR)
+ if (EIGEN3_DIR)
+ set(EIGEN3_FIND_HINTS "${EIGEN3_DIR}/include/eigen3")
+ endif()
+ if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
+ set(EIGEN3_FIND_PATHS /usr/local/include/eigen3)
+ elseif (${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
+ set(EIGEN3_FIND_PATHS /usr/pkg/include/eigen3)
+ else()
+ set(EIGEN3_FIND_PATHS /opt/local/include/eigen3 /usr/include/eigen3)
+ endif()
+ find_path(EIGEN3_INCLUDE_DIR
+ Eigen/Core
+ HINTS ${EIGEN3_FIND_HINTS}
+ PATHS ${EIGEN3_FIND_PATHS})
+ if (NOT EIGEN3_INCLUDE_DIR)
+ message(STATUS "Eigen3 not found, will attempt to find Eigen2")
+ else()
+ message(STATUS "Eigen3 found in " ${EIGEN3_INCLUDE_DIR})
+ inclusion(EIGEN3_DIR EIGEN3_INCLUDE_DIR)
+ endif()
+endif()
+
+
# Eigen2
-if( ${EIGEN_VERSION} EQUAL 2)
+if (NOT EIGEN3_INCLUDE_DIR)
# Turn off Eigen SIMD optimization
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
@@ -205,44 +233,7 @@ if (NOT EIGEN2_INCLUDE_DIR)
endif()
inclusion(EIGEN2_DIR EIGEN2_INCLUDE_DIR)
-endif() # EIGEN_VERSION 2
-
-
-# Eigen3
-
-if( ${EIGEN_VERSION} EQUAL 3)
-
-if (NOT $ENV{EIGEN3DIR} STREQUAL "")
- set(EIGEN3_DIR "$ENV{EIGEN3DIR}")
-elseif (NOT $ENV{OPENSCAD_LIBRARIES} STREQUAL "")
- set(EIGEN3_DIR "$ENV{OPENSCAD_LIBRARIES}")
-endif()
-
-if (NOT EIGEN3_INCLUDE_DIR)
- if (EIGEN3_DIR)
- set(EIGEN3_FIND_HINTS "${EIGEN3_DIR}/include/eigen3")
- endif()
- if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
- set(EIGEN3_FIND_PATHS /usr/local/include/eigen3)
- elseif (${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
- set(EIGEN3_FIND_PATHS /usr/pkg/include/eigen3)
- else()
- set(EIGEN3_FIND_PATHS /opt/local/include/eigen3 /usr/include/eigen3)
- endif()
- find_path(EIGEN3_INCLUDE_DIR
- Eigen/Core
- HINTS ${EIGEN3_FIND_HINTS}
- PATHS ${EIGEN3_FIND_PATHS})
- if (NOT EIGEN3_INCLUDE_DIR)
- message(FATAL_ERROR "Eigen3 not found")
- else()
- message(STATUS "Eigen3 found in " ${EIGEN3_INCLUDE_DIR})
- endif()
-endif()
-inclusion(EIGEN3_DIR EIGEN3_INCLUDE_DIR)
-
-endif() # EIGEN_VERSION 3
-
+endif() # if (NOT EIGEN3_INCLUDE_DIR)
# OpenCSG
if (NOT $ENV{OPENCSGDIR} STREQUAL "")
contact: Jan Huwald // Impressum