diff options
author | don bright <hugh.m.bright@gmail.com> | 2012-08-18 22:14:17 (GMT) |
---|---|---|
committer | don bright <hugh.m.bright@gmail.com> | 2012-08-18 22:14:17 (GMT) |
commit | c4d68588a6f2f39ab60055a56fbc59b87ecee2e2 (patch) | |
tree | b25f66be274b37c7b8068f238f1ff9457b8d95e5 /tests | |
parent | 10c7607541e502f2d0ff7c2c49fd70809704c039 (diff) |
modify build system to auto-detect eigen3, and fallback to eigen2
Diffstat (limited to 'tests')
-rw-r--r-- | tests/CMakeLists.txt | 75 |
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 "") |