diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/CMakeLists.txt | 37 | ||||
| -rw-r--r-- | tests/FindGLEW.cmake | 2 | ||||
| -rw-r--r-- | tests/OffscreenContext.cc | 41 | 
3 files changed, 72 insertions, 8 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index e2cbbe5..3167792 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -62,6 +62,30 @@ endif()  # Build test apps  # +# Boost +# +# usually it's found automatically, but some systems may need a custom install. +# in that case, run cmake with -DBOOST_ROOT=/path/to/boost/install +# (being the same path you passed to boost's --prefix when you built it) +if(BOOST_ROOT) +  set(Boost_NO_SYSTEM_PATHS TRUE) +  set(Boost_ADDITIONAL_VERSIONS "1.47.0") +  find_package( Boost 1.35.0 COMPONENTS thread program_options ) +  if(Boost_FOUND) +    message(STATUS "Boost includes found: " ${Boost_INCLUDE_DIRS}) +    message(STATUS "Boost libraries found:") +    foreach(boostlib ${Boost_LIBRARIES}) +      message(STATUS "  " ${boostlib}) +    endforeach() +    include_directories(${Boost_INCLUDE_DIRS}) +  else() +    message(STATUS "BOOST_ROOT:" ${BOOST_ROOT}) +    message(FATAL_ERROR "BOOST_ROOT specified but no boost found") +  endif() +else() +  message(STATUS "BOOST_ROOT unset. Assuming it will be found automatically.") +endif() +  # Mac OS X  if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")    FIND_LIBRARY(COCOA_LIBRARY Cocoa) @@ -105,7 +129,7 @@ elseif (NOT $ENV{MACOSX_DEPLOY_DIR} STREQUAL "")    set(OPENCSG_DIR "$ENV{MACOSX_DEPLOY_DIR}")  endif()  if (NOT OPENCSG_INCLUDE_DIR) -   message(STATUS ${OPENCSG_DIR}) +  message(STATUS "OPENCSG_DIR: " ${OPENCSG_DIR})    find_path(OPENCSG_INCLUDE_DIR              opencsg.h              PATHS ${OPENCSG_DIR}/include) @@ -115,7 +139,8 @@ if (NOT OPENCSG_INCLUDE_DIR)    if (NOT OPENCSG_INCLUDE_DIR OR NOT OPENCSG_LIBRARY)      message(FATAL_ERROR "OpenCSG not found")    else() -    message(STATUS "OpenCSG found in " ${OPENCSG_LIBRARY}) +    message(STATUS "OpenCSG include found in " ${OPENCSG_INCLUDE_DIR}) +    message(STATUS "OpenCSG library found in " ${OPENCSG_LIBRARY})    endif()  endif()  include_directories(${OPENCSG_INCLUDE_DIR}) @@ -260,7 +285,7 @@ add_executable(cgaltest cgaltest.cc ../src/CGAL_Nef_polyhedron.cc ../src/cgaluti                          ../src/CGAL_Nef_polyhedron_DxfData.cc ../src/cgaladv_minkowski2.cc ../src/cgaladv_convexhull2.cc                          ${COMMON_SOURCES})  set_target_properties(cgaltest PROPERTIES COMPILE_FLAGS "-DENABLE_CGAL ${CGAL_CXX_FLAGS_INIT}") -target_link_libraries(cgaltest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES} ${OPENGL_LIBRARY}) +target_link_libraries(cgaltest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES} ${OPENGL_LIBRARY} ${Boost_LIBRARIES})  #  # cgalpngtest @@ -272,7 +297,7 @@ add_executable(cgalpngtest cgalpngtest.cc OffscreenView.cc bboxhelp.cc ${OFFSCRE                             ../src/CGAL_Nef_polyhedron_DxfData.cc ../src/cgaladv_minkowski2.cc ../src/cgaladv_convexhull2.cc                             ${COMMON_SOURCES})  set_target_properties(cgalpngtest PROPERTIES COMPILE_FLAGS "-DENABLE_CGAL ${CGAL_CXX_FLAGS_INIT}") -target_link_libraries(cgalpngtest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES}  ${GLEW_LIBRARY} ${COCOA_LIBRARY} ${OPENGL_LIBRARY}) +target_link_libraries(cgalpngtest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES}  ${GLEW_LIBRARY} ${COCOA_LIBRARY} ${OPENGL_LIBRARY} ${Boost_LIBRARIES})  #  # opencsgtest @@ -285,7 +310,7 @@ add_executable(opencsgtest opencsgtest.cc csgtestcore.cc OffscreenView.cc ${OFFS                             ../src/CGAL_Nef_polyhedron_DxfData.cc ../src/cgaladv_minkowski2.cc ../src/cgaladv_convexhull2.cc                             ${COMMON_SOURCES})  set_target_properties(opencsgtest PROPERTIES COMPILE_FLAGS "-DENABLE_OPENCSG -DENABLE_CGAL ${CGAL_CXX_FLAGS_INIT}") -target_link_libraries(opencsgtest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES} ${OPENCSG_LIBRARY} ${GLEW_LIBRARY} ${COCOA_LIBRARY} ${OPENGL_LIBRARY}) +target_link_libraries(opencsgtest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES} ${OPENCSG_LIBRARY} ${GLEW_LIBRARY} ${COCOA_LIBRARY} ${OPENGL_LIBRARY} ${Boost_LIBRARIES})  #  # throwntogethertest @@ -298,7 +323,7 @@ add_executable(throwntogethertest throwntogethertest.cc csgtestcore.cc Offscreen                             ../src/CGAL_Nef_polyhedron_DxfData.cc ../src/cgaladv_minkowski2.cc ../src/cgaladv_convexhull2.cc                              ${COMMON_SOURCES})  set_target_properties(throwntogethertest PROPERTIES COMPILE_FLAGS "-DENABLE_OPENCSG -DENABLE_CGAL ${CGAL_CXX_FLAGS_INIT}") -target_link_libraries(throwntogethertest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES} ${OPENCSG_LIBRARY} ${GLEW_LIBRARY} ${COCOA_LIBRARY} ${OPENGL_LIBRARY}) +target_link_libraries(throwntogethertest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES} ${OPENCSG_LIBRARY} ${GLEW_LIBRARY} ${COCOA_LIBRARY} ${OPENGL_LIBRARY} ${Boost_LIBRARIES})  # diff --git a/tests/FindGLEW.cmake b/tests/FindGLEW.cmake index bd0669d..32c2d6e 100644 --- a/tests/FindGLEW.cmake +++ b/tests/FindGLEW.cmake @@ -30,7 +30,7 @@ IF (WIN32)  		${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib  		DOC "The GLEW library")  ELSE (WIN32) -        message("-- GLEW_DIR: " ${GLEW_DIR}) +        message(STATUS "GLEW_DIR: " ${GLEW_DIR})  	FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h                  PATHS ${GLEW_DIR}/include /usr/include /usr/local/include                  NO_DEFAULT_PATH diff --git a/tests/OffscreenContext.cc b/tests/OffscreenContext.cc index e4045af..839eea9 100644 --- a/tests/OffscreenContext.cc +++ b/tests/OffscreenContext.cc @@ -13,6 +13,28 @@ See Also  */ +/* + * Some portions of the code below are: + * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +  #include "OffscreenContext.h"  #include "printutils.h"  #include "imageutils.h" @@ -98,7 +120,24 @@ bool create_glx_dummy_window(OffscreenContext &ctx)    // can't depend on xWin==NULL at failure. use a custom Xlib error handler instead.    original_xlib_handler = XSetErrorHandler( XCreateWindow_error ); -  Window xWin = XCreateSimpleWindow( dpy, DefaultRootWindow(dpy), 0,0,10,10, 0,0,0 ); + +  Window root = DefaultRootWindow( dpy ); +  XSetWindowAttributes xwin_attr; +  int width = 42; +  int height = 42; +  xwin_attr.background_pixel = 0; +  xwin_attr.border_pixel = 0; +  xwin_attr.colormap = XCreateColormap( dpy, root, visinfo->visual, AllocNone); +  xwin_attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask; +  unsigned long int mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask; + +  Window xWin = XCreateWindow( dpy, root, 0, 0, width, height, +                               0, visinfo->depth, InputOutput, +                               visinfo->visual, mask, &xwin_attr ); + +  // Window xWin = XCreateSimpleWindow( dpy, DefaultRootWindow(dpy), 0,0,42,42, 0,0,0 ); + +    XSync( dpy, false );    if ( XCreateWindow_failed ) {      XFree( visinfo );  | 
