set(sources src/glew.c) set(headers include/GL/glew.h include/GL/glxew.h include/GL/vtk_glew_mangle.h include/GL/wglew.h) vtk_module_add_module(VTK::glew SOURCES ${sources} HEADERS ${headers} HEADERS_SUBDIR "vtkglew/include/GL") target_compile_definitions(glew PRIVATE GLEW_NO_GLU) if(VTK_OPENGL_HAS_OSMESA AND UNIX) target_compile_definitions(glew PRIVATE GLEW_OSMESA) target_link_libraries(glew PRIVATE ${CMAKE_DL_LIBS}) endif() if(VTK_OPENGL_HAS_EGL) target_compile_definitions(glew PRIVATE GLEW_EGL) endif() if (BUILD_SHARED_LIBS) if (WIN32) target_compile_definitions(glew PRIVATE GLEW_BUILD) if(MINGW) # https://github.com/nigels-com/glew/issues/157 target_link_libraries(glew PRIVATE -nostdlib) # https://discourse.vtk.org/t/1898 target_compile_options(glew PRIVATE -minline-all-stringops) endif() endif () else () target_compile_definitions(glew PUBLIC GLEW_STATIC) endif () target_include_directories(glew PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include")