diff --git a/CMake/VTKmMacros.cmake b/CMake/VTKmMacros.cmake index 7b5c2e091..999010b00 100644 --- a/CMake/VTKmMacros.cmake +++ b/CMake/VTKmMacros.cmake @@ -220,7 +220,7 @@ function(vtkm_unit_tests) if(VTKm_ENABLE_OPENGL_INTEROP) list(APPEND VTKm_UT_INCLUDE_DIRS ${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIR} ) - list(APPEND VTKm_UT_LIBRARIES ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES} ) + list(APPEND VTKm_UT_LIBRARIES ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ) endif() if(VTKm_ENABLE_OPENGL_TESTS) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4bad4198c..1f819e410 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -165,6 +165,12 @@ CMAKE_DEPENDENT_OPTION(VTKm_ENABLE_OPENGL_TESTS "Enable OpenGL Interop Render Window Tests" ON "VTKm_ENABLE_OPENGL_INTEROP;GLUT_FOUND" OFF) +#on unix/linux Glew uses pthreads, so we need to find that, and link to it +#explicitly or else in release mode we get sigsegv on launch +if(UNIX AND VTKm_ENABLE_OPENGL_INTEROP) + find_package(Threads REQUIRED) +endif() + #----------------------------------------------------------------------------- # Find Pyexpander in case somebody wants to update the auto generated # faux variadic template code