if (DEFINED GLEW_VERSION)
	if((TARGET GLEW::GLEW) AND (${GLEW_VERSION} VERSION_GREATER_EQUAL "2.0.0"))
		set(USE_BUNDLED_GLEW false)
	else()
		set(USE_BUNDLED_GLEW true)
	endif()
else()
	set(USE_BUNDLED_GLEW true)
endif()

if(${USE_BUNDLED_GLEW})
	message(STATUS "- glew - using bundled source")
	add_library(external-glew STATIC "${GLEW_DIR}/src/glew.c")
	target_compile_definitions(external-glew PUBLIC GLEW_STATIC)
	target_include_directories(external-glew SYSTEM PUBLIC ${GLEW_DIR}/include)
	if(TARGET OpenGL::OpenGL)
		target_link_libraries(external-glew PUBLIC OpenGL::OpenGL)
	elseif(TARGET OpenGL::GL)
		target_link_libraries(external-glew PUBLIC OpenGL::GL)
	else()
		message(FATAL_ERROR "OpenGL not found or your CMake version is too old!")
	endif()
	if(TARGET OpenGL::GLX)
		target_link_libraries(external-glew PUBLIC OpenGL::GLX)
	endif()
	set_property(TARGET external-glew PROPERTY FOLDER External)
	target_compile_options(external-glew PRIVATE -w)
else()
	message(STATUS "- glew - using system-provided library")
	add_library(external-glew INTERFACE)
	target_link_libraries(external-glew INTERFACE GLEW::GLEW)
	if(TARGET OpenGL::OpenGL)
		target_link_libraries(external-glew INTERFACE OpenGL::OpenGL)
	elseif(TARGET OpenGL::GL)
		target_link_libraries(external-glew INTERFACE OpenGL::GL)
	else()
		message(FATAL_ERROR "OpenGL not found or your CMake version is too old!")
	endif()
endif()

