summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authordon bright <hugh.m.bright@gmail.com>2011-10-10 23:01:51 (GMT)
committerdon bright <hugh.m.bright@gmail.com>2011-10-10 23:01:51 (GMT)
commita1c698f422fceeadcf50e2ad456d5e43a01c8feb (patch)
tree5b21483b358f6fc1905f865f7c29f3228cc4c4a6 /tests
parent6251fc326842b657feb4926c9a4fbb51f152248c (diff)
enable build of cgalpngtest under windowsXP
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt24
-rw-r--r--tests/OffscreenView.cc2
-rw-r--r--tests/OffscreenView.h8
-rw-r--r--tests/cgalpngtest.cc18
-rw-r--r--tests/cgaltest.cc2
-rw-r--r--tests/csgtestcore.cc2
-rw-r--r--tests/imageutils.cc4
7 files changed, 46 insertions, 14 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 9e6640e..d102f6b 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -8,6 +8,16 @@ if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Debug)
endif()
+# Disable some warnings in Windows
+if(WIN32)
+ # too long decorated names
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4503")
+ # int cast to bool in CGAL
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4800")
+ # unreferenced parameters in CGAL
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4100")
+endif()
+
#
# Build test apps
#
@@ -59,7 +69,7 @@ include_directories(${OPENCSG_INCLUDE_DIR})
# GLEW
-if (NOT $ENV{MACOSX_DEPLOY_DIR} STREQUAL "")
+if ()
set(GLEW_DIR "$ENV{MACOSX_DEPLOY_DIR}")
endif()
find_package(GLEW REQUIRED)
@@ -69,7 +79,10 @@ include_directories(${GLEW_INCLUDE_PATH})
find_package(BISON)
find_package(FLEX)
# The COMPILE_FLAGS and forced C++ compiler is just to be compatible with qmake
-FLEX_TARGET(OpenSCADlexer ../src/lexer.l ${CMAKE_CURRENT_BINARY_DIR}/lexer.cpp COMPILE_FLAGS "-Plexer")
+if (WIN32)
+ set(FLEX_UNISTD_FLAG "-DYY_NO_UNISTD_H")
+endif()
+FLEX_TARGET(OpenSCADlexer ../src/lexer.l ${CMAKE_CURRENT_BINARY_DIR}/lexer.cpp COMPILE_FLAGS "-Plexer ${FLEX_UNISTD_FLAG}")
BISON_TARGET(OpenSCADparser ../src/parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser_yacc.c COMPILE_FLAGS "-p parser")
ADD_FLEX_BISON_DEPENDENCY(OpenSCADlexer OpenSCADparser)
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/parser_yacc.c PROPERTIES LANGUAGE "CXX")
@@ -81,6 +94,7 @@ include_directories(../src)
add_definitions(-DOPENSCAD_VERSION=test -DOPENSCAD_YEAR=2011 -DOPENSCAD_MONTH=10)
set(COMMON_SOURCES
+ ../src/mathc99.cc
../src/handle_dep.cc
../src/qhash.cc
../src/export.cc
@@ -121,10 +135,12 @@ set(COMMON_SOURCES
#
# Offscreen OpenGL context source code
#
-if (NOT $ENV{MACOSX_DEPLOY_DIR} STREQUAL "")
+if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(OFFSCREEN_CTX_SOURCE "OffscreenContext.mm")
-else()
+elseif(UNIX)
set(OFFSCREEN_CTX_SOURCE "OffscreenContext.cc")
+elseif(WIN32)
+ set(OFFSCREEN_CTX_SOURCE "OffscreenContextWGL.cc")
endif()
#
diff --git a/tests/OffscreenView.cc b/tests/OffscreenView.cc
index d188d0d..e34fbce 100644
--- a/tests/OffscreenView.cc
+++ b/tests/OffscreenView.cc
@@ -186,7 +186,7 @@ void OffscreenView::paintGL()
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
- glClearColor(1.0, 1.0, 0.92, 1.0);
+ glClearColor(1.0f, 1.0f, 0.92f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
diff --git a/tests/OffscreenView.h b/tests/OffscreenView.h
index dd52a81..c57f07e 100644
--- a/tests/OffscreenView.h
+++ b/tests/OffscreenView.h
@@ -1,15 +1,21 @@
#ifndef OFFSCREENVIEW_H_
#define OFFSCREENVIEW_H_
-#ifndef __APPLE__ // Eigen SIMD alignment
+// workaround Eigen SIMD alignment problems
+#ifndef __APPLE__
#define EIGEN_DONT_VECTORIZE 1
#define EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT 1
#endif
+#ifdef _MSC_VER
+#define EIGEN_DONT_ALIGN
+#endif
#include "OffscreenContext.h"
#include <Eigen/Core>
#include <Eigen/Geometry>
+#ifndef _MSC_VER
#include <stdint.h>
+#endif
class OffscreenView
{
diff --git a/tests/cgalpngtest.cc b/tests/cgalpngtest.cc
index 447df45..fee44e8 100644
--- a/tests/cgalpngtest.cc
+++ b/tests/cgalpngtest.cc
@@ -23,6 +23,10 @@
*
*/
+#ifdef _MSC_VER
+#define EIGEN_DONT_ALIGN
+#endif
+
#include "myqhash.h"
#include "openscad.h"
#include "node.h"
@@ -47,7 +51,9 @@
#include <QDir>
#include <QSet>
#include <QTextStream>
+#ifndef _MSC_VER
#include <getopt.h>
+#endif
#include <iostream>
#include <assert.h>
#include <sstream>
@@ -182,7 +188,7 @@ int main(int argc, char **argv)
try {
csgInfo.glview = new OffscreenView(512,512);
} catch (int error) {
- fprintf(stderr,"Can't create OpenGL OffscreenView. exiting.\n");
+ fprintf(stderr,"Can't create OpenGL OffscreenView. Code: %i. Exiting.\n", error);
exit(1);
}
@@ -211,19 +217,21 @@ int main(int argc, char **argv)
CGALRenderer cgalRenderer(N);
- BoundingBox bbox;
+/* Eigen::AlignedBox<double, 3> bbox;
if (cgalRenderer.polyhedron) {
CGAL::Bbox_3 cgalbbox = cgalRenderer.polyhedron->bbox();
bbox = BoundingBox(Vector3d(cgalbbox.xmin(), cgalbbox.ymin(), cgalbbox.zmin()),
- Vector3d(cgalbbox.xmax(), cgalbbox.ymax(), cgalbbox.zmax()));
+ Vector3d(cgalbbox.xmax(), cgalbbox.ymax(), cgalbbox.zmax()));
}
else if (cgalRenderer.polyset) {
bbox = cgalRenderer.polyset->getBoundingBox();
}
+
Vector3d center = (bbox.min() + bbox.max()) / 2;
double radius = (bbox.max() - bbox.min()).norm() / 2;
-
-
+*/
+ Vector3d center(0,0,0);
+ double radius = 5.0;
Vector3d cameradir(1, 1, -0.5);
Vector3d camerapos = center - radius*2*cameradir;
csgInfo.glview->setCamera(camerapos, center);
diff --git a/tests/cgaltest.cc b/tests/cgaltest.cc
index 8dfb63c..2c83cc8 100644
--- a/tests/cgaltest.cc
+++ b/tests/cgaltest.cc
@@ -42,7 +42,9 @@
#include <QDir>
#include <QSet>
#include <QTextStream>
+#ifndef _MSC_VER
#include <getopt.h>
+#endif
#include <iostream>
#include <assert.h>
#include <sstream>
diff --git a/tests/csgtestcore.cc b/tests/csgtestcore.cc
index 2e28bf6..11ff695 100644
--- a/tests/csgtestcore.cc
+++ b/tests/csgtestcore.cc
@@ -221,7 +221,7 @@ int csgtestcore(int argc, char *argv[], test_type_e test_type)
try {
csgInfo.glview = new OffscreenView(512,512);
} catch (int error) {
- fprintf(stderr,"Can't create OpenGL OffscreenView. exiting.\n");
+ fprintf(stderr,"Can't create OpenGL OffscreenView. Code: %i. Exiting.\n", error);
exit(1);
}
BoundingBox bbox = csgInfo.root_chain->getBoundingBox();
diff --git a/tests/imageutils.cc b/tests/imageutils.cc
index 7358674..e15ba2b 100644
--- a/tests/imageutils.cc
+++ b/tests/imageutils.cc
@@ -1,11 +1,11 @@
#include "imageutils.h"
-#include <strings.h>
+#include <string.h>
void flip_image(const unsigned char *src, unsigned char *dst, size_t pixelsize, size_t width, size_t height)
{
size_t rowBytes = pixelsize * width;
for (size_t i = 0 ; i < height ; i++) {
- bcopy(src + i * rowBytes, dst + (height - i - 1) * rowBytes, rowBytes);
+ memmove(dst + (height - i - 1) * rowBytes, src + i * rowBytes, rowBytes);
}
}
contact: Jan Huwald // Impressum