summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt54
-rw-r--r--tests/csgtestcore.cc7
2 files changed, 60 insertions, 1 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 5ec8be7..4942259 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -67,6 +67,17 @@ if(WIN32 AND CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -frounding-math")
endif()
+# Clang compiler
+
+if(CMAKE_CXX_COMPILER MATCHES ".*clang.*")
+ # disable enormous amount of warnings about CGAL
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-variable")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-function")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-c++11-extensions")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-sign-compare")
+endif()
+
#
# Build test apps
#
@@ -157,7 +168,8 @@ endif()
set(CMAKE_INCLUDE_DIRECTORIES_BEFORE OFF)
-# Eigen2
+
+# Eigen
# Turn off Eigen SIMD optimization
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
@@ -166,6 +178,44 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
endif()
endif()
+# First try to find Eigen3. If it's not there, fallback to Eigen2
+
+# 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 (NOT EIGEN3_INCLUDE_DIR)
+
if (NOT $ENV{EIGEN2DIR} STREQUAL "")
set(EIGEN2_DIR "$ENV{EIGEN2DIR}")
elseif (NOT $ENV{OPENSCAD_LIBRARIES} STREQUAL "")
@@ -195,6 +245,8 @@ if (NOT EIGEN2_INCLUDE_DIR)
endif()
inclusion(EIGEN2_DIR EIGEN2_INCLUDE_DIR)
+endif() # if (NOT EIGEN3_INCLUDE_DIR)
+
# OpenCSG
if (NOT $ENV{OPENCSGDIR} STREQUAL "")
set(OPENCSG_DIR "$ENV{OPENCSGDIR}")
diff --git a/tests/csgtestcore.cc b/tests/csgtestcore.cc
index acc7c31..0ab9c0a 100644
--- a/tests/csgtestcore.cc
+++ b/tests/csgtestcore.cc
@@ -357,6 +357,13 @@ int csgtestcore(int argc, char *argv[], test_type_e test_type)
Vector3d camerapos = center - radius*1.8*cameradir;
csgInfo.glview->setCamera(camerapos, center);
+#include <iostream>
+ if (csgInfo.background_chain)
+ std::cout << csgInfo.background_chain->dump( true ) << "\n";
+ if (csgInfo.root_chain)
+ std::cout << csgInfo.root_chain->dump( true ) << "\n";
+ if (csgInfo.highlights_chain)
+ std::cout << csgInfo.highlights_chain->dump( true ) << "\n";
OpenCSGRenderer opencsgRenderer(csgInfo.root_chain, csgInfo.highlights_chain, csgInfo.background_chain, csgInfo.glview->shaderinfo);
ThrownTogetherRenderer thrownTogetherRenderer(csgInfo.root_chain, csgInfo.highlights_chain, csgInfo.background_chain);
contact: Jan Huwald // Impressum